Skip to content

Commit 7bf32fd

Browse files
Merge branch 'staging' into main
2 parents 982d166 + 76ad273 commit 7bf32fd

13 files changed

+342
-361
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 0.8.0 (28/07/2021)
2+
3+
### Enhancements
4+
* Added support for null safety
5+
* Upgraded Freshchat iOS SDK version to 4.2.0
6+
17
## 0.7.0 (19/06/2021)
28

39
### Enhancements

example/android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ android {
5050
}
5151

5252
dependencies {
53-
implementation 'com.google.firebase:firebase-messaging:20.1.0'
53+
implementation 'com.google.firebase:firebase-messaging:22.0.0'
5454
}
5555
}
5656
flutter {

example/android/app/google-services.json

Lines changed: 0 additions & 69 deletions
This file was deleted.
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,25 @@
11
package com.fc.sampleobjc.flutter_app;
22

33
import com.freshchat.consumer.sdk.flutter.FreshchatSdkPlugin;
4-
import com.google.firebase.FirebaseApp;
54

65
import io.flutter.app.FlutterApplication;
76
import io.flutter.embedding.engine.FlutterEngine;
87
import io.flutter.plugin.common.PluginRegistry;
98
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
109
import io.flutter.plugins.GeneratedPluginRegistrant;
11-
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;
12-
import io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin;
10+
import io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingPlugin;
11+
import io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingBackgroundService;
1312

1413
public class ExampleApplication extends FlutterApplication implements PluginRegistrantCallback {
1514
@Override
1615
public void onCreate() {
1716
super.onCreate();
18-
FlutterFirebaseMessagingService.setPluginRegistrant(this);
17+
FlutterFirebaseMessagingBackgroundService.setPluginRegistrant(this);
1918
}
2019

2120
@Override
2221
public void registerWith(PluginRegistry registry) {
23-
FirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
22+
FlutterFirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
2423
FreshchatSdkPlugin.register(registry);
2524
}
2625
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.fc.sampleobjc.flutter_app;
2+
3+
import com.freshchat.consumer.sdk.flutter.FreshchatSdkPlugin
4+
import io.flutter.app.FlutterApplication
5+
import io.flutter.embedding.engine.FlutterEngine
6+
import io.flutter.plugin.common.PluginRegistry
7+
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
8+
import io.flutter.plugins.GeneratedPluginRegistrant
9+
import io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingPlugin
10+
import io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingBackgroundService
11+
class ExampleApplicationKotlin : FlutterApplication(), PluginRegistrantCallback {
12+
@Override
13+
fun onCreate() {
14+
super.onCreate()
15+
FlutterFirebaseMessagingBackgroundService.setPluginRegistrant(this)
16+
}
17+
@Override
18+
fun registerWith(registry: PluginRegistry) {
19+
FlutterFirebaseMessagingPlugin.registerWith(registry.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"))
20+
FreshchatSdkPlugin.register(registry)
21+
}
22+
}

example/ios/Runner/AppDelegate.swift

Lines changed: 43 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,55 @@
11
import UIKit
22
import Flutter
33
import UserNotifications
4-
54
@UIApplicationMain
65
@objc class AppDelegate: FlutterAppDelegate {
7-
override func application(
8-
_ application: UIApplication,
9-
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
10-
) -> Bool {
11-
GeneratedPluginRegistrant.register(with: self)
6+
override func application(
7+
_ application: UIApplication,
8+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9+
) -> Bool {
10+
GeneratedPluginRegistrant.register(with: self)
11+
if #available(iOS 10.0, *) {
1212
UNUserNotificationCenter.current().delegate = self
13+
} else {
14+
// Fallback on earlier versions
15+
}
16+
if #available(iOS 10.0, *) {
1317
UNUserNotificationCenter.current().requestAuthorization(options:[.badge, .alert, .sound]){ (granted, error) in
1418
print("grant: \(granted)")
1519
}
16-
UIApplication.shared.registerForRemoteNotifications()
17-
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
20+
} else {
21+
// Fallback on earlier versions
1822
}
19-
}
20-
21-
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
22-
let freshchatSdkPlugin = FreshchatSdkPlugin()
23-
print("Device Token \(deviceToken)")
24-
print("Device token is set")
25-
freshchatSdkPlugin.setPushRegistrationToken(deviceToken)
26-
}
27-
28-
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
29-
let freshchatSdkPlugin = FreshchatSdkPlugin()
30-
if freshchatSdkPlugin.isFreshchatNotification(userInfo){
31-
NSLog("is Freshchat Notification")
32-
freshchatSdkPlugin.handlePushNotification(userInfo)
33-
}else{
34-
NSLog("Not Freshchat Notification")
23+
UIApplication.shared.registerForRemoteNotifications()
24+
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
25+
}
26+
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
27+
let freshchatSdkPlugin = FreshchatSdkPlugin()
28+
print("Device Token \(deviceToken)")
29+
print("Device token is set")
30+
freshchatSdkPlugin.setPushRegistrationToken(deviceToken)
31+
}
32+
//@available(iOS 10.0, *)
33+
override func userNotificationCenter(_ center: UNUserNotificationCenter,
34+
willPresent: UNNotification,
35+
withCompletionHandler: @escaping (UNNotificationPresentationOptions)->()) {
36+
let freshchatSdkPlugin = FreshchatSdkPlugin()
37+
if freshchatSdkPlugin.isFreshchatNotification(willPresent.request.content.userInfo) {
38+
freshchatSdkPlugin.handlePushNotification(willPresent.request.content.userInfo) //Handled for freshchat notifications
39+
} else {
40+
withCompletionHandler([.alert, .sound, .badge]) //For other notifications
41+
}
42+
}
43+
//@available(iOS 10.0, *)
44+
override func userNotificationCenter(_ center: UNUserNotificationCenter,
45+
didReceive: UNNotificationResponse,
46+
withCompletionHandler: @escaping ()->()) {
47+
let freshchatSdkPlugin = FreshchatSdkPlugin()
48+
if freshchatSdkPlugin.isFreshchatNotification(didReceive.notification.request.content.userInfo) {
49+
freshchatSdkPlugin.handlePushNotification(didReceive.notification.request.content.userInfo) //Handled for freshchat notifications
50+
withCompletionHandler()
51+
} else {
52+
withCompletionHandler() //For other notifications
53+
}
3554
}
36-
completionHandler(.newData)
37-
}
38-
39-
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
40-
print("Failed to register for notifications: \(error.localizedDescription)")
4155
}
42-

0 commit comments

Comments
 (0)