消息推送:
富媒体必须要有文字内容,否则后台提示发送成功,但是前台收到消息不会提示
短信验证:
从Android 1.3.1版本开始,我们新增了智能验证功能。智能验证是指您的手机号最近一次已经在Mob平台的SMSSDK验证过。此时就不再下发短信到该手机上,直接通过验证。当用户手机未通过智能验证时,则依然需要下发短信/语音验证码的方式验证手机号的有效性。
如果你不想使用此功能,可以在短信的后台关闭,默认是打开。
开启这个功能的情况下,getVerificationCode如果验证通过,后面都会返回true(true代表验证成功),不会再发短信。
第三方分享和登录:
http://wiki.mob.com/Android_%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/
友盟统计:
多渠道打包:
基本原理是利用Gradle的 manifest merger 功能,这个功能的主要用途是能够在运行时替换AndroidManifest.xml里面的内容,具体功能大家自行查看文档吧,这里就不赘述了。
我用的是友盟的统计,所以现在AndroidManifest.xml里面会有这么一段:
里面的Channel_ID就是渠道标示。我们的目标就是在编译的时候这个值能够自动变化。
第一步 在AndroidManifest.xml里配置PlaceHolder
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"/>
第二步 在模块的build.gradle文件的defaultConfig里加上PlaceHolder定义
android {
...
defaultConfig {
...
manifestPlaceholders = [ UMENG_CHANNEL_VALUE:"default_channel" ]
}
}
这里的作用有两个,一是声明UMENG_CHANNEL_VALUE是可替换值的PlaceHolder,二是为其设置默认值。
第三步 在模块的build.gradle文件里添加ProductFlavors配置
android {
productFlavors {
xiaomi {
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"xiaomi"]
}
_360 {
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"_360"]
}
baidu {
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"baidu"]
}
wandoujia {
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"wandoujia"]
}
}
}
或批量:
android {
...
defaultConfig {
...
manifestPlaceholders = [ UMENG_CHANNEL_VALUE:"default_channel"]
}
productFlavors {
default_channel{}
wandoujia{}
_360{}
yingyongbao{}
xiaomi{}
baidu{}
huawei{}
jifeng{}
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [ UMENG_CHANNEL_VALUE:name]
}
}
所谓ProductFlavors其实就是可定义的产品特性,配合manifest merger使用的时候就可以达成在一次编译过程中产生多个具有自己特性配置的版本。
上面这个配置的作用就是,为每个渠道包产生不同的UMENG_CHANNEL_VALUE的值。
然后选择bulid-》generate signed apk,选择好签名文件后点击下一步,导出apk前可以选择需要生成的渠道包