MobPush Android For Unity

这篇具有很好参考价值的文章主要介绍了MobPush Android For Unity。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文档以unity2020.3.41演示

集成准备

注册账号

使用MobSDK之前,需要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情可以点击查看注册流程

下载.unitypackage包

打开 Github 下载 MobPush-For-Unity 项目,下载完成后直接双击或者在Unity里面选择打开 MobPush.unitypackage,导入相关资源和脚本到您的 Unity项目即可使用。
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端

导入unitypackage

全部选择即可(其中Demo.cs 为API使用和页面示例,可删除)

mobpush android 包名,开发者,android,unity,游戏引擎,java,前端

修改unity 编译环境

mobpush android 包名,开发者,android,unity,游戏引擎,java,前端

Android 集成编译配置

资源修改

删掉Android目录下的 baseProjectTemplate.gradle 、launcherTemplate.gradle文件
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端

修改unity配置

使用系统的gradle配置文件
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端

增加MobPush的gradle配置

修改baseProjectTemplate.gradle和launcherTemplate.gradle(注:此处修改为新生成的baseProjectTemplate.gradle文件和launcherTemplate.gradle文件)
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端
baseProjectTemplate.gradle
1.在classpath 'com.android.tools.build:gradle’后添加mob的classpath

classpath "com.mob.sdk:MobSDK:+"

2.添加MobPush需要的maven地址

maven {    url "https://mvn.mob.com/android/"}

3.参考示例如截图
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端
launcherTemplate.gradle
1.修改launcherTemplate.gradle增加MobPush配置

apply plugin: 'com.mob.sdk'
MobSDK {
    appKey "xxxxxxxxx"
    appSecret "xxxxxxxxxx"
    MobPush {
        debugLevel 4
        devInfo {
            HUAWEI{
                 appId "xxxxxxxxx"
             }
            XIAOMI {
                appId "xxxxxxx"
                appKey "5581830029242"
            }
            MEIZU {
                appId "xxxxx"
                appKey "3fc6d1acc7ea4f90a0304967ee3a74ae"
            }
            OPPO {
                appKey "xxxxxxxx"
                appSecret "c850609d8a0f492f8b9eeca1189aaec2"
            }
            VIVO {
                appId "xxxxxx"
                appKey "9b01729c-6140-4ad3-ac79-4c4543e12130"
            }
        }
    }
}

2.参考示例截图
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端
##在gradle.properties中添加代码

MobSDK.spEdition=FP

mobpush android 包名,开发者,android,unity,游戏引擎,java,前端
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端

挂载MobPush如图

mobpush android 包名,开发者,android,unity,游戏引擎,java,前端

配置签名文件和包名

1.配置自己项目的签名文件
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端
2.配置自己项目的包名
mobpush android 包名,开发者,android,unity,游戏引擎,java,前端

设置隐私授权回调

为保证您的App在集成MobSDK之后能够满足工信部相关合规要求,您应确保App安装首次冷启动且取得用户阅读您《隐私政策》授权之后,调用Mob提交到的隐私协议回传函数uploadPrivacyPermissionStatus回传隐私协议授权结果。 反之,如果用户不同意您App《隐私政策》授权,则不能调用uploadPrivacyPermissionStatus回传隐私协议授权结果。 详情参考:合规指南

//隐私授权接口调用,此接口务必不能漏调用,否则导致SDK不生效
mobPush.updatePrivacyPermissionStatus(true);

推送接口

初始化和绑定监听(gameObject.GetComponent)
void Start ()
    {

    mobPush = gameObject.GetComponent();//初始化MobPush
    mobPush.onNotifyCallback = OnNitifyHandler;//消息回调监听
    mobPush.onTagsCallback = OnTagsHandler;//标签处理回调监听
    mobPush.onAliasCallback = OnAliasHandler;//别名处理回调监听
    mobPush.onDemoReqCallback = OnDemoReqHandler;

       //demo请求接口回调(为了方便测试,提供在客户端发送通知的接口,仅供测试时使用)
    mobPush.onRegIdCallback = OnRegIdHandler;//获取注册ID异步监听回调接口
    }

void OnNitifyHandler (int action, Hashtable resulte)
    {
    Debug.Log ("OnNitifyHandler");
    if (action == ResponseState.CoutomMessage)
        {
            Debug.Log ("CoutomMessage:" + MiniJSON.jsonEncode(resulte));
        }
    else if (action == ResponseState.MessageRecvice)
        {
            Debug.Log ("MessageRecvice:" + MiniJSON.jsonEncode(resulte));
        }
    else if (action == ResponseState.MessageOpened) 
        {
            Debug.Log ("MessageOpened:" + MiniJSON.jsonEncode(resulte));
        }
    }
void OnTagsHandler (int action, string[] tags, int operation, int errorCode)
    {

    Debug.Log ("OnTagsHandler  action:" + action + " tags:" + String.Join (",", tags) + " operation:" + operation + "errorCode:" + errorCode);
    }
void OnAliasHandler (int action, string alias, int operation, int errorCode)
    {
    Debug.Log ("OnAliasHandler action:" + action + " alias:" + alias + " operation:" + operation + "errorCode:" + errorCode);
    }
void OnRegIdHandler (string regId)
    {
    Debug.Log ("OnRegIdHandler-regId:" + regId);
    }
void OnDemoReqHandler (bool isSuccess)
    {
    Debug.Log ("OnDemoReqHandler:" + isSuccess);
    }
发送本地通知(LocalNotifyStyle )
LocalNotifyStyle style = new LocalNotifyStyle ();
style.setContent ("Text");
style.setTitle ("title");

#if UNITY_ANDROID
Hashtable extras = new Hashtable ();
extras["key1"] = "value1";
extras["key2"] = "value1";
style.setExtras (extras);
//指定时间,当前时间加上设置这个Timestamp的值之后下发,单位ms
style.setTimestamp(180000);
#endif
mobPush.setMobPushLocalNotification (style);
自定义通知栏样式( CustomNotifyStyle)
CustomNotifyStyle style = new CustomNotifyStyle ();

#if UNITY_IPHONE
style.setType(CustomNotifyStyle.AuthorizationType.Badge | CustomNotifyStyle.AuthorizationType.Sound |      CustomNotifyStyle.AuthorizationType.Alert);

#elif UNITY_ANDROID

style.setContent ("Content");
style.setTitle ("Title");
style.setTickerText ("TickerText");

#endif
mobPush.setCustomNotification(style);
获取注册ID (getRegistrationId)
mobPush.getRegistrationId();
添加标签 (addTags)
String[] tags = { "tags1", "tags2", "tags3" };
mobPush.addTags(tags);
获取标签 (getTags)
mobPush.getTags();
删除标签 (deleteTags)
String[] tags = { "tags1", "tags2", "tags3" };
mobPush.deleteTags(tags);
清除全部标签 (cleanAllTags )
mobPush.cleanAllTags();
添加别名 (addAlias)
mobPush.addAlias("alias");
获取别名 (getAlias)
mobPush.getAlias();
清除别名 (cleanAllAlias)
mobPush.cleanAllAlias();
停止通知服务 (stopPush)
mobPush.stopPush();
重启通知服务 (restartPush)
mobPush.restartPush();
判断通知是否被停止,返回值:bool类型(isPushStopped)
mobPush.isPushStopped();
点击通知后是否打开应用首页(setClickNotificationToLaunchPage)
mobPush.setClickNotificationToLaunchPage(false);

添加混淆配置

为了防止二次混淆MobPush,需要在项目混淆文件中添加:

-keep class com.mob.**{*;}

-dontwarn com.mob.**

如果同时集成了华为、小米、魅族等渠道推送,同时也需要在项目中添加防二次混淆配置:文章来源地址https://www.toymoban.com/news/detail-791771.html

-keep class com.huawei.**{*;}

-keep class com.meizu.**{*;}

-keep class com.xiaomi.**{*;}

-keep class android.os.SystemProperties

到了这里,关于MobPush Android For Unity的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Android取证篇】Android设备USB调试打开方式(开发者模式)

    Android各个版本系统手机开启”USB调试”的入口不全相同,仅供参考—【蘇小沐】 1、【Android1.0-3.2】 路径:在应用列表选择「设置」-「应用程序」-「开发」-勾选「USB调试」选项。 2、【Android 4.0、4.1】 路径:在应用程序列表中选择「设置」进入系统设置菜单-「开发者选项」

    2024年02月14日
    浏览(50)
  • Android 15的开发者预览版

    Android 15的开发者预览版在多个方面带来了创新功能,以下是一些主要特点: 功耗管理改进:Android 15引入了动态性能框架,这一框架对功耗密集型应用与手机电源系统的交互方式进行了优化。这意味着应用程序可以更高效地使用手机的资源,如GPU、CPU和散热系统。对于长时间

    2024年02月21日
    浏览(61)
  • Flutter 开发者工具 Android Studio 开发Flutter应用

    Flutter 开发者工具 在 Android Studio 开发Flutter应用 🔥 Android Studio 版本更新 🔥 Android Studio Check for Update Connection failed ​ 解决方案 ​    ​  🔥 编辑代码,和查看问题 🔥  Dart 插件 可以做到如下几点 :  语法高亮显示。 基于多种类型分析的代码补全。 定位到类型的声明(

    2024年02月15日
    浏览(112)
  • Android问题解决方案(一):Android 打空包提交开发者后台提示没有”android:exported“的属性设置

    今日了解到了一个新内容,意指打一个新的空包提审,来实现同个应用二次提审的效果;通过一系列操作后,成功打出了所谓aab格式的安装包。(至于为什么是aab格式,相信有所了解的朋友自然也知道什么原因,还未曾了解的朋友可以先了解相关的信息,这里就不赘述了,自

    2023年04月11日
    浏览(53)
  • Android 15 第一个开发者预览版

    点击查看:first-developer-preview-android15 点击查看:Get Android 15 2024年2月16日,谷歌发布 Android 15 第一个开发者预览版 翻译 由工程副总裁戴夫·伯克发布 今天,我们发布了Android 15的首个开发者预览版,这样我们的开发者就可以与我们合作,打造一个更好的Android。 Android 15继续我们

    2024年02月19日
    浏览(58)
  • 聊聊 Android 开发者未来几年的规划

    超友们,早上好~ 🙆 今天我为你带来的分享是《聊聊 Android 开发者未来几年的规划》,主要分为五个部分: 一、【技术提升攻略】 二、【业务提升攻略】 三、【时间管理】 四、【个人定位】 五、【2023 年书籍阅读清单】 ✅先赞后看,养成习惯。感谢! 1月13日,阿里巴巴

    2024年02月03日
    浏览(75)
  • 9成Android开发者必须收藏的80个开源库

    Android 应用性能调优的技术点 http://zhuanlan.zhihu.com/kaede/20326073 Android 客户端性能优化 http://blog.tingyun.com/web/article/detail/155 美团 WebView性能、体验分析与优化 https://tech.meituan.com/WebViewPerf.html MVC,MVP 和 MVVM 的图示 http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html 不容错过,最全的 Androi

    2024年04月23日
    浏览(45)
  • Android Studio修改项目包名

    1.第一步,项目结构是这样的,3个包名合在了一起,我们需要把每个包名单独展示出来 2.我们点击这个 弹出如下图内容,把红色圆圈的地方点击选择取消选中 取消选中后的包名结构是这样的,可以看到,包名的每个文件夹已经展示分开了,现在我们可以单独对每个包名文件

    2024年02月13日
    浏览(36)
  • Android无法获取已安装应用包名的问题

    在某些情况下,我们需要获取android上已安装的第三方应用的一些信息 例如:使用如上代码检索,有些情况下也无法获取应用信息,而有些机型又可以获取到应用信息 从Android 11 开始 系统对app的可见性进行了保护,只有部分应用可见所有app 即使您的应用以 Android 11(API 级别

    2024年02月21日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包