本文介绍了在蚂蚁动态卡片中调用 Android 客户端方法的实现路径。
操作步骤
客户端注册 module。
自定义 module。
public class CustomCubeModule extends CubeModule { private static final String TAG = CustomCubeModule.class.getSimpleName(); // 注解,uiThread 表示是否在主进程回调 @JsMethod(uiThread = true) public void cubeToClient(final CubeJSCallback callback) { // 向卡片发送回调 if (callback != null) { callback.invoke("cubeToClient callback data: " + System.currentTimeMillis()); } } }
注册自定义 module。
第一个参数是 type,第二个参数是自定义 module 的全路径,第三个参数是调用的方法名称。全路径和方法名称不需要混淆。
Collection<CubeModuleModel> cubeModuleModels = new LinkedList<>(); cubeModuleModels.add(new CubeModuleModel("custom", CustomCubeModel.class.getName(), new String[]{"cubeToClient"})); CubeService.instance().getEngine().registerModule(cubeModuleModels, null);
卡片侧调用。
注册 module。type 需和客户端保持一致,此处以
custom
为例。调用 module,方法名和客户端注册方法名要保持一致。
<script> // 注册 module const navigator = requireModule("custom"); export default { data: { message: 'Hello Cube 1' }, beforeCreate() { this.message = 'Hello Cube 2' }, didAppear() { }, methods: { onClick() { // 调用客户端方法 navigator.cubeToClient(event=>{ this.message = event; }) } } } </script>
将卡片打包发布到后台,即可调用客户端方法。
文档内容是否对您有帮助?