一.远程推送
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的各种属性和权限
这时候就可以在服务器来发送推送来测试了