SDK 初始化

SDK 初始化

此章节将演示如何在Unity项目中初始化ZJSDK

初始化与启动

在进入应用后,通过ZJiOSUtils类的静态方法初始化 SDK

初始化ZJiOSUtils#InitSDK(AppId);方法。

AppId为用户在我们申请注册的应用ID,如果没有可以联系我们运用人员申请注册。

方法参数说明
InitSDK(string AppId)AppId: 应用ID初始化SDK方法

初始化示例

Demo->Resources/ZJDemoRes/Scripts/UIMgr.cs
private void InitZJSDK()
{
    ZJiOSUtils.InitSDK(AppId);
}

// 该方法为iOS原生与unity交互方法,用来监听iOS原生给unity发送消息的方法, 只需要添加一次即可,
// 本例中是添加到UIMgr.cs这个文件,因为只有这个文件是跟页面节点挂载的,用户对接可根据实际情况使用
public void NativeToUnity(string msg) {
    if (msg == null) {
        Debug.Log("数据为空。。。");
        return;
    }
    publisher.Publish(msg);
}

// 下面是添加原生回调的方法,需要在页面加载完成之后调用该方法
private void OnEnableEvent()
{
    if (publisher != null)
    {
        publisher.OnMessagePublished.AddListener(OnIOSCallback);
    }
}
// 页面销毁执行的移除监听
private void OnDisableEvent()
{
    if (publisher != null)
    {
        publisher.OnMessagePublished.RemoveListener(OnIOSCallback);
    }
}
// 处理iOS原生给unity发送消息的方法
public void OnIOSCallback(string msg) {
    // 处理初始化结果的方法
    ZJMsgObj obj = JsonUtility.FromJson<ZJMsgObj>(msg);
    if (obj == null) return;
    if (obj.adType == ZJAdType.ZJAdTypeStart)
    {
        // 初始化回调
        if (obj.code == ZJErrCode.ZJErrCodeOK)
        {
            Debug.Log("ZJSDK初始化回调成功");
        } else {
            Debug.Log("ZJSDK初始化回调失败");
        }
    }
}

示例工程

压缩包内的ios_zjsdk_unity包含了一个基础的SDK功能演示场景与对应的广告加载、展示示例代码:

演示页面广告加载
DemoDemo