u_push_plugin 0.0.2 u_push_plugin: ^0.0.2 copied to clipboard
友盟推送Plugin
u_push_plugin #
友盟推送Plugin
备注(插件当前处于开发阶段不开放使用,仅供测试) #
Getting Started #
Android端 #
- 首先声明自定义 Application
class RApplication :FlutterApplication(){
override fun onCreate() {
super.onCreate()
//注册友盟推送
PushManager.instance.initUPush(this,"5bda5046b465f5f632000092","95387292a0c5fa9cb4df1cba9693e068")
}
}
- activity中重写onNewIntent方法
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
MessageManager.instance.setIntentJson(intent)
}
flutter 端 #
- 开启友盟消息监听回调
UPushPlugin.initMessageListener();
- 开启的登陆完成监听(由于登录注册是异步的,防止主动获取时无法获取到)
UPushPlugin.initRegisterListener((value) {
deviceToken = value.message;
setState(() {});
});
- 消息监听
UPushPlugin.initMessageResultListener((value) {
MessageData(value);
setState(() {
message = MessageData(value).message;
});
});
- 后台进入,冷启动获取数据
UPushPlugin.getCacheMessage().then((value) {
if(value.isNotEmpty){
setState(() {
message = MessageData(value).message;
});
}
});
- 主动获取deviceToken
deviceToken = await UPushPlugin.getDeviceToken();
- 回传信息数据转dart
class MessageData extends BaseMessageData{
String message;
int type;
MessageData(Map<dynamic, dynamic> mapData) : super(mapData);
@override
void createDataByMap(Map<dynamic, dynamic> mapData) {
message = mapData["message"];
type = int.parse(mapData["type"]) ;
}
}