应用场景是:
从H5页面打开极光魔链的短链接唤醒APP,进入APP后根据魔链传递的参数跳转到另一个页面;
出现的问题是:
执行了跳转方法,但是页面没有实际跳转
在app入口初始化:
import 'package:jmlink_flutter_plugin/jmlink_flutter_plugin.dart';
JMLConfig config = new JMLConfig();
config.appKey = "极光appKey";
config.channel = "channel";
config.useIDFA = false;
config.isProduction = true;
JmlinkFlutterPlugin jmlink = new JmlinkFlutterPlugin();
jmlink.setup(config: config);
jmlink.setDebugMode(debug: true);
// 监听 某个mLink handler 回调
String jmlinkKey = "极光短链接key";// 短链 key
jmlink.registerJMLinkDefaultHandler();
// 注册短链对应的 handler
jmlink.registerJMLinkHandler(key: jmlinkKey);
然后在首页:
@override
void initState() {
//context在返回frame后可用
JmlinkFlutterPlugin jmlink = new JmlinkFlutterPlugin();
String jmlinkKey = "极光短链接key";// 短链 key
jmlink.addHandlerListener(jmlinkKey, (String key, Map jsonMap){
print("监听到短链为【$key】的 mLink handler 回调,回调参数为:${jsonMap.toString()}");
final id = jsonMap['id'];
if (jmlinkKey == key) {
//执行了这里的代码
final id = jsonMap['id'];
Application.router.navigateTo(context, '/goodsDetail?productId=$id');
}
});
super.initState();
}
哪位大神知道是什么原因,希望不吝赐教。。谢谢了
自己回答一波。。极光的这个插件写的有问题。。从原生修改了代码才能实现跳转。。