共计 2813 个字符,预计需要花费 8 分钟才能阅读完成。
这是一个基于 SMSSDK 性能的扩大的 Flutter 插件。应用此插件可能帮忙您在应用 Flutter 开发利用时, 疾速地实现获取验证码性能。
Demo 例子:https://github.com/MobClub/SM…
开始集成
https://pub.dev/packages/mobsms
在 pubspec.yaml 文件中退出上面依赖
`dependencies:
mobsms:
mobcommonlib: `
而后执行:flutter packages get 导入 package
在你的 dart 工程文件中,导入上面头文件,开始应用
import 'package:mobsms/mobsms.dart';
import 'package:mobcommonlib/mobcommonlib.dart';
iOS:平台配置参考 iOS 集成文档
Android:导入 SMSSDK 相干依赖
在我的项目根目录的 build.gradle 中增加以下代码:
dependencies {classpath 'com.mob.sdk:MobSDK:2018.0319.1724'}
在 /android/app/build.gradle 中增加以下代码:
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
// 导入 MobSDK
apply plugin: 'com.mob.sdk'
平台相干集成 在我的项目的 /android/app/build.gradle 中增加:
android {//.........}
apply plugin: 'com.mob.sdk'
MobSDK {
appKey "您的 appkey"
appSecret "您的 appsercret"
SMSSDK {}}
这样就能够在你的 project/android/src 下的类中 import cn.smssdk.flutter.MobsmsPlugin 并应用 MobsmsPlugin 中的 api 了。
隐衷协定接入
展现 MobTech 隐衷协定:开发者须要展现 MobTech 隐衷条款,并将批准后果回传给 MobTech 即可,举荐如下形式:将 MobTech 隐衷协定的 URL 嵌入 app 本身隐衷协定形容中(举荐应用)
第一步:将咱们 sdk 的隐衷形容增加到您的隐衷政策内容中 参考表达方式:为了实现【】性能,咱们应用了 MobTech 的【】产品,此产品的隐衷策略条款,能够参考:http://www.mob.com/about/policy
第二步:先将 mobFoundation.framework 更新到 3.2.24 及之后的版本(能够在我的项目根目录找到这个 mob 库,看外面的 plist 文件,外面有版本号),而后须要在我的项目的 plist 文件里增加 MOBNetLater 参数配置,参数值配置为 2
配置如图:
第三步:回传用户隐衷受权后果(应用隐衷版本,如果不回传受权后果,sdk 性能将无奈应用)
接口如下:
import 'package:mobcommonlib/mobcommonlib.dart';
Mobcommonlib.submitPolicyGrantResult(true, (dynamic ret, Map err) => {});
只须要在应用 sdk 性能接口之前调用一次这个接口回传,把用户承受您们隐衷条款与否的后果调用 upload 接口通知咱们即可。
为了使 MobTech 的 SDK 产品能更好的兼容 ios14 零碎,同时合乎苹果将于 2020 年 12 月 8 日失效的要求应用程序(APP)开发者配置隐衷“标签”新政策,咱们根据 MobTech 不同的 SDK 产品制作了不同的配置操作文档。建议您在接入 MobTech SDK 服务时更新到最新版本, 接入咱们的隐衷政策链接,同时在 App Store Connect 后盾,参考对应 SDK 的配置操作文档,增加您 App 的隐衷“标签”数据内容。
App Store Connect 后盾配置参考文档:
链接
接口办法阐明
回传用户隐衷受权后果 (submitPrivacyGrantResult)
/**
* 回传用户隐衷受权后果
* @param status 用户是否批准隐衷协定
* @param result 默认传 null
*/
Mobcommonlib.submitPolicyGrantResult(bool status, Function(bool)? result)
例:
Mobcommonlib.submitPolicyGrantResult(true, null);
文本获取验证码(getTextCode)
Smssdk.getTextCode("手机号","区号(中国填写 86)","模板 id", (dynamic ret, Map err){if(err!=null){......}
else
{........}
});
语言获取验证码(getVoiceCode)
Smssdk.getVoiceCode("手机号","区号(中国填写 86)", (dynamic ret, Map err){if(err!=null){......}
else
{......}
});
提交验证码(commitCode)
Smssdk.commitCode("手机号","区号(中国填写 86)","验证码", (dynamic ret, Map err){if(err!=null){......}
else
{......}
});
获取国家列表(getSupportedCountries)
Smssdk.getSupportedCountries((dynamic ret, Map err){if(err!=null){......}
else
{......}
});
提交用户信息(submitUserInfo)
Smssdk.submitUserInfo("3241241", "SmsSDK_Flutter_User_3241241",
"https://download.sdk.mob.com/510/deb/0c0731ac543eb71311c482a2e2.png",
"区号(中国填写 86)", "手机号", (dynamic ret, Map err){if(err!=null){......}
else
{......}
});
获取版本号(getVersion)
Smssdk.getVersion((dynamic ret, Map err){if(err!=null){......}
else
{......}
});
Flutter iOS 端注意事项
因为插件更新,SDK 的 Pod 依赖被替换,Flutter 自身写入 Pod 文件不会先执行删除原有依赖,导致可能会呈现原有本地库仍然存在,请查看 Pod 文件夹下文件,间接手动删除 mob_smssdk 以及 MOBFoundation 文件即可,如有疑难,请间接通过官网和咱们分割。