Unity添加IOS的远程推送,APNS方式

一.远程推送

1.需要在苹果后台申请Certificates证书,苹果证书创建和测试的时候需要的P12和P8文件创建步骤参考个推的文档

https://docs.getui.com/getui/mobile/ios/apns/

2.修改Identifiers证书

3.参考官方文档,在unity代码中注册远程推送

string strToken = null;
bool tokenSent;
 private void Start()
    {
        tokenSent = false;
        UnityEngine.iOS.NotificationServices.RegisterForNotifications(
            UnityEngine.iOS.NotificationType.Alert | 
            UnityEngine.iOS.NotificationType.Badge |
            UnityEngine.iOS.NotificationType.Sound);//---------远程推送注册

    }
    private void Update()
    {
        if(!tokenSent)
        {
            byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
            if(token != null)
            {
                strToken = System.BitConverter.ToString(token);//这里获取到的格式是A1-A2-A3这种格式,服务器推送需要的没有-
                strToken = strToken.Replace("-", "");
                tokenSent = true;
            }
        }
    }

4.打包完成后,需要在xcode里面设置,也可以在unity用代码来设置xcode的配置

点左上角+号来添加capability,在签名中可以看到打包配置包括的权限

在General中添加库文件,xcode中直接搜索添加

//推送

proj.AddFrameworkToProject(target, "CoreFoundation.framework", false);

proj.AddFrameworkToProject(target, "CoreTelephony.framework", false);

proj.AddFrameworkToProject(target, "UserNotifications.framework", false);

proj.AddFrameworkToProject(target, "CoreFoundation.framework", false);

//添加lib

AddLibToProject(proj, target, "libc++.tbd");

AddLibToProject(proj, target, "libz.tbd");

AddLibToProject(proj, target, "libresolv.tbd");

5.Archive完以后,在生成iPa包的时候,可以看到此App的各种属性和权限

这时候就可以在服务器来发送推送来测试了

猜你喜欢

转载自blog.csdn.net/qq_41162935/article/details/115267569