这是一个基于SMSSDK功能的扩展的Flutter插件。使用此插件能够帮助您在使用Flutter开发应用时,快速地实现获取验证码功能。
Demo例子:https://github.com/MobClub/SM...
开始集成
在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
{......}
});