Hbuilder中集成openinstall

引子:
现在很多的app都用混合开发,Hbuilder工具开发的app混合开发也是很火。很多时候需要集成一下第三方的sdk服务,比如:openinstall的免填邀请码安装的渠道来源追踪统计的集成

但是如果要集成使用非基座包下的第三方 SDK,就必须使用离线打包。可以参考 官方文档 进行离线打包,如果觉得官方文档太难理解,可以查看其他技术人员的教程,例如 DCloud技术与androidstudio打包

如何把第三方的渠道统计服务openinstall集成进来?实现免打包的渠道统计,渠道追踪来源,无码邀请等功能都是这次我需要用到的功能,集成openinstall能实现这些功能。

1、注册/登录openinstall开发者平台http://developer.openinstall.io/并创建应用

openinstall下载的jar包
这里写图片描述

编写 Android 原生代码
下载 openinstall SDK 并将 jar 包拷贝到项目的 libs 目录。创建一个 package,如 com.wenkiwu.hbuilder.openinstall;在包中新建一个类继承自 StandardFeature,然后对应openinstall的接口定义相应的功能方法。完整代码如下:

package com.wenkiwu.hbuilder.openinstall;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;

import com.fm.openinstall.OpenInstall;
import com.fm.openinstall.listener.AppInstallAdapter;
import com.fm.openinstall.listener.AppWakeUpAdapter;
import com.fm.openinstall.model.AppData;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import io.dcloud.common.DHInterface.ISysEventListener;
import io.dcloud.common.DHInterface.IWebview;
import io.dcloud.common.DHInterface.StandardFeature;
import io.dcloud.common.util.JSUtil;

public class OpenInstallApiManager extends StandardFeature {
    
    

    private static final String TAG = "OpenInstallApiManager";
    private IWebview webview = null;
    private String wakeupCallBackID = null;

    @Override
    public void onStart(Context context, Bundle bundle, String[] strings) {
    
    
        super.onStart(context, bundle, strings);
        Log.d(TAG, "init");
        OpenInstall.init(context);
    }

    public void registerWakeUpHandler(final IWebview pWebview, JSONArray array) {
    
    
        Log.d(TAG, "registerWakeUpHandler");
        String callBackID = array.optString(0);

        webview = pWebview;
        wakeupCallBackID = callBackID;
        // 自己注册监听并处理 onNewIntent 事件
        pWebview.obtainApp().registerSysEventListener(new ISysEventListener() {
    
    
            @Override
            public boolean onExecute(SysEventType sysEventType, Object o) {
    
    
                if (sysEventType == SysEventType.onNewIntent) {
    
    
                    String dataString = (String) o;
                    Intent intent = new Intent();
                    intent.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值