Push Notifications on iOS

Using Firebase, you can easily configure Gameball in-app notification and messages on your iOS app.

Gameball uses Firebase to deliver maximum experience in your app. This includes push notifications, interactive in-app messaging and referrals support.

Configure Gameball With Your Firebase

Before you start, you must configure your Firebase on your Gameball account. Follow the steps in Configure your Firebase account on Gameball for mobile push notifications article from our Help Center related to push notifications.

Handling Push Notifications Integration

Configure notifications as usual and add two more methods using our SDK. This is normal integration for general firebase notifications configuration, so here is a how-to guide.

1. Add the below to the AppDelegate class

Inherit :UNUserNotificationCenterDelegate, MessagingDelegate
Add var gameballApp: GameballApp?

2. Then put these lines didFinishLaunchingWithOptions() in AppDelegate

FirebaseApp.configure()
registerForPushNotifications()

3. Add these stack of lines to the AppDelegate class

func registerForPushNotifications() {
UNUserNotificationCenter.current()
.requestAuthorization(options: [.alert, .sound, .badge]) {
[weak self] granted, error in
UNUserNotificationCenter.current().delegate = self
Messaging.messaging().delegate = self
guard granted else { return }
self?.getNotificationSettings()
}
}
‚Äč
func getNotificationSettings() {
UNUserNotificationCenter.current().getNotificationSettings { settings in
guard settings.authorizationStatus == .authorized else { return }
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
}
}

4. Here we need to add this method to register token to Gameball in this method

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
let tokenParts = deviceToken.map { data in String(format: "%02.2hhx", data) }
let token = tokenParts.joined()
if let refreshedToken = InstanceID.instanceID().token() {
print("InstanceID token: (refreshedToken)")
self.gameballApp?.registerDevice(withToken: refreshedToken)
}
}

5. Here we need to add this method to let Gameball handle everything related to Gameball Widget

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
gameballApp?.notificationPopUP(notification: notification)
}

Your users can now receive push notifications from Gameball.