Prerequisites
- Must have an iOS developer account
- In order to configure brainCloud to send notifications to your iOS app, you will need to provide a p12 certificate file. Follow these steps to create a p12 file for your app.
brainCloud Portal Configuration
- Log into the brainCloud portal
- Navigate to Notifications | Settings in the design tab for your app
- Click on the edit button for the Apple notification settings
- Upload your p12 file and enter the password that was used to create the p12 file into the dialog
- Notice that once you’ve done that, the type of certificate shows up (production/sandbox) as well as the expiry date
Unity Code Example
using UnityEngine;
using UnityEngine.iOS;
public class App : MonoBehaviour
{
private BrainCloudWrapper _bc;
private string _wrapperName = "default";
bool tokenSent;
void Start()
{
// Unity
GameObject go = new GameObject();
_bc = go.AddComponent<BrainCloudWrapper>();
_bc.WrapperName = _wrapperName; // optionally set a wrapper-name
_bc.Init(); // extra data, such as: _appId, _secret and _appVersion, is taken from the brainCloud Unity Plugin.
DontDestroyOnLoad(go); // keep the brainCloud game object through scene changes
// Authenticate your user with brainCloud
_bc.AuthenticateAnonymous((response, cbObject) =>
{
Debug.Log(string.Format("[Auth Success] {0}", response));
},
(status, code, error, cbObject) =>
{
Debug.Log(string.Format("[Auth Failed] {0} {1} {2}", status, code, error));
});
tokenSent = false;
UnityEngine.iOS.NotificationServices.RegisterForNotifications(
NotificationType.Alert |
NotificationType.Badge |
NotificationType.Sound);
}
void Update()
{
if (!tokenSent)
{
byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
// When token exists, and brainCloud is Authenticated
if (token != null && _bc.Client.Authenticated)
{
// Send the token to brainCloud
_bc.PushNotificationService.RegisterPushNotificationDeviceToken(
token,
(response, cbObject) =>
{
Debug.Log(string.Format("[Register Success] {0}", response));
}, ((status, code, error, cbObject) =>
{
Debug.Log(string.Format("[Register Failed] {0} {1} {2}", status, code, error));
}));
tokenSent = true;
}
}
}
}