这是一个基于SMSSDK功能的扩展的Flutter插件。使用此插件能够帮助您在使用Flutter开发应用时,快速地实现获取验证码功能。
Demo例子:https://github.com/MobClub/SMSSDK-for-Flutter

开始集成
  • 在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

配置如图:

flutter android 获取运动步数 flutter获取短信_bc

第三步:回传用户隐私授权结果(使用隐私版本,如果不回传授权结果,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)

flutter android 获取运动步数 flutter获取短信_bc_02

例:

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
   {......}
});