此插件是基于MobPushSDK功能的扩展。使用此插件可以帮助您在使用ReactNative开发应用程序时快速集成和使用推送功能。集成准备在package.json文件中添加插件依赖//依赖版本根据插件的实际版本填写“dependencies”:{"react":"18.1.0","react-native-mobpush":"version"}打开terminal/命令提示符,进入项目目录(即package.json文件所在目录),运行如下命令安装:yarnaddreact-nativeornpmaddreact-native导入以下头文件在ReactNative项目中使用importMobPushfrom'react-native-mobpush';在Android端配置并注册MobSDK,在项目Gradle文件中注册MobSDK。buildscript{repositories{//1.添加MobSDKMaven地址maven{url"https://mvn.mob.com/android"}}dependencies{//2.注册MobSDKclasspath"com.mob.sdk:MobSDK2:+"}}添加插件和扩展在项目AppModule的Gradle文件中添加插件和扩展applyplugin:'com.mob.sdk'MobSDK{appKey"替换为appkey"appSecret"appSecret"appSecret"对应正式申请的appkey通过MobTech》MobPush{}}在gradle.properties中添加代码MobSDK.spEdition=FP添加混淆代码-keepclasscom.mob.**{*;}-dontwarncom.mob.**iOS配置平台配置参考iOS集成文档实现文档中的Xcode配置:配置AppKey和AppSecret等配置iOS端基于原生的MobPushSDK提供了额外的Enum选项,可以使用以下步骤:importiOSnativemoduleconstMobPushModule=NativeModules.MobPushModule;通过模块MobPushModule.MPushAuthorizationOptionsBadgeMobPushModule.MPushAuthorizationOptionsAlertMobPushModule.MPushAuthorizationOptionsSoundetc可以调用相应的Enum选项。可以使用MPEnumpAuthorizationOptions枚举{MPushAuthorizationOptionsNoneMPushAuthorizationOptionsBadgeMPushAuthorizationOptionsSoundMPushAuthorizationOptionsAlert}enumMSendMessageType{MSendMessageTypeAPNsMSendMessageTypeCustomMSendMessageTypeTimed}API接口调用提交用户隐私授权结果确保您的应用首次与MobSDK集成,用户可以满足部要求工信部合规安装授权后,调用MobSDK.submitPolicyGrantResult返回隐私协议授权结果。反之,如果用户不同意你的App《隐私政策》授权,你就不能调用MobSDK.submitPolicyGrantResult返回隐私协议的授权结果。请参考链接合规指南/***返回用户隐私授权结果*@paramisGranted用户是否同意隐私协议*/MobPushModule.submitPolicyGrantResult(BooleanisGranted);获取RegistrationID/***获取RegistrationID*@param{Function}callback=(result)=>{"success":bool,"res":regID,"error":err}*/staticgetRegistrationID(callback){MobPushModule.getRegistrationID(回调);}添加消息事件监听器/**消息事件监听**@param{Function}callback=(result)=>{"success":bool,"res":String,"error":err}**success:result,true表示操作成功**res:messagestructure体JSON字符串**/constonLocalMessageReceive='onLocalMessageReceive'constonCustomMessageReceive='onCustomMessageReceive'constonNotifyMessageReceive='onNotifyMessageReceive'constonNotifyMessageOpenedReceive='onNotifyMessageOpenedReceive'staticaddNotficationListener(callback){constemitter=newNativeEventEmitter(MobPushModule);缺点tcustomSubscription=emitter.addListener(onCustomMessageReceive,result=>{callback(result)})constapnsSubscription=emitter.addListener(onNotifyMessageReceive,result=>{callback(result)})constlocalSubscription=emitter.addListener(onLocalMessageReceive,result=>{callback(result)})constclickedSubscription=emitter.addListener(onNotifyMessageOpenedReceive,result=>{callback(result)})listeners[callback]=[customSubscription,apnsSubscription,localSubscription,clickedSubscription];**这个接口是添加逻辑,不是覆盖逻辑**@paramparams={"tags":[String]}**/staticaddTags(params){MobPushModule.addTags(params);}/**删除指定标签**@paramtags=StringArray**/staticdeleteTags(params){MobPushModule.deleteTags(params);}/**清除所有标签**/staticcleanAllTags(){MobPushModule.cleanAllTags();}/**查询所有标签**/staticgetAllTags(){MobPushModule.getAllTags();}Aliaspush/**查询所有别名**/staticgetAlias(){MobPushModule.getAlias();}/**新别名*@paramalias=String**/staticsetAlias(alias){MobPushModule.setAlias(alias);}/**删除别名**/staticdeleteAlias(){MobPushModule.deleteAlias();}推送状态/***推送服务是否关闭*@param{Function}callback=(result)=>{"success":bool,"res":isStopped,"error":err}*/staticisPushStopped(回调){MobPushModule.isPushStopped(回调);}/***关闭推送服务*/staticstopPush(){MobPushModule.stopPush();}/***开启推送服务*/staticrestartPush(){MobPushModule.restartPush();}BadgeStatusAndroid:/***设置是否启用badge*/staticsetShowBadge(showbadge){if(Platform.OS=='android'){MobPushModule.setShowBadge(showbadge);}}/***徽章是否关闭*@param{Function}callback=(result)=>{"success":bool,"res":isStopeed,"error":err}*/staticgetShowBadge(callback){if(Platform.OS=='android'){MobPushModule.getShowBadge(callback);}}iOS:/***将徽章设置到服务器*/staticsetBadgeCount(count){if(Platform.OS=='ios'){MobPushModule.setShowBadgeCount(count);}}/***获取服务器的徽章*/staticgetBadgeCount(callback){if(Platform.OS=='ios'){MobPushModule.getShowBadgeCount(callback);}}/***清除徽章*/staticclearBadge(){if(Platform.OS=='ios'){MobPushModule.clearBadge();}}注意事项合规指南:https://www.mob.com/wiki/deta...常见问题:https://www.mob.com/wiki/deta...官方集成文档中的高级配置和说明请参考官方集成文档:https://www.mob.com/wiki/详情...
