Skip to content

Commit 340a92c

Browse files
committed
UPDATE Push plugin to 5.1.1+301
1 parent 2ef5854 commit 340a92c

68 files changed

Lines changed: 2101 additions & 1282 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

flutter-hms-push/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
## 5.1.1+301
2+
* Updated Push SDK to the latest version 5.1.1+301.
3+
* Added Multi-Sender API.
4+
* Bug fixes and improvements.
5+
* **[Breaking Changes]**
6+
* Migrated the plugin to Null-Safety.
7+
* Folder structure updated, all library can be imported with a single line.
8+
* Code constant renamed as ResultCodes.
9+
* Push.deleteToken method's result will not be returned to the stream anymore, it can be obtained directly from the method.
10+
111
## 5.0.2+304
212
* Updated HMSLogger.
313
* Changed lightSettings, vibrateConfig, titleLocalizationArgs and bodyLocalizationArgs fields of RemoteMessageNotification to type List\<dynamic> in order to support parsing for 3rd party integrations.

flutter-hms-push/README.md

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,48 @@
22
<h1 align="center">Huawei Push Kit Flutter Plugin</h1>
33
</p>
44

5+
6+
7+
<p align="center">
8+
<a href="https://pub.dev/packages/huawei_gameservice"><img src="https://img.shields.io/pub/v/huawei_push?style=for-the-badge" alt="pub.dev version"></a>
9+
</p>
10+
11+
512
----
613

714
HUAWEI Push Kit is a messaging service provided by Huawei. It establishes a messaging channel from the cloud to devices. By integrating Push Kit, you can send messages to your apps on users' devices in real time. This helps you maintain closer ties with users and increases user awareness and engagement with your apps.
815

916
This plugin enables communication between HUAWEI Push Kit SDK and Flutter platform. It exposes all functionality provided by HUAWEI Push Kit SDK.
1017

11-
[> Learn More](https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/service-introduction-0000001050040060-V5)
18+
[Learn More](https://developer.huawei.com/consumer/en/doc/development/HMSCore-Guides-V5/service-introduction-0000001050040060-V5?ha_source=hms1)
1219

1320
## Installation
1421

15-
Please see [pub.dev](https://pub.dev/packages/huawei_push/install) and [AppGallery Connect Configuration](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/config-agc-0000001050178043).
22+
Please see [pub.dev](https://pub.dev/packages/huawei_push/install) and [AppGallery Connect Configuration](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/config-agc-0000001050178043?ha_source=hms1).
1623

1724
## Documentation
1825

19-
- [Quick Start](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/basiccapabilities-0000001050417999)
20-
- [Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001057463088)
26+
- [Quick Start](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/basiccapabilities-0000001050417999?ha_source=hms1)
27+
- [Reference](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-References/overview-0000001057463088?ha_source=hms1)
2128

2229
### Additional Topics
23-
- [Basic Capabilities](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/basiccapabilities-0000001050417999)
24-
- [Topic-based Message Sending](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/topicbased-message-0000001050190681)
25-
- [Receiving Data Messages](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/receiving-data-messages-at-killed-state-0000001058199547)
26-
- [Deep Linking with Custom Intent URIs](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/deeplinking-custom-0000001055875857)
27-
- [Obtaining Initial Messages](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/get-initial-notif-0000001056552970)
28-
- [Listening to Message Tap Events](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/listen-notif-message-0000001057481400)
29-
- [Sending Local Notification Messages](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/send-local-notif-0000001057760996)
30-
- [Sending Uplink Messages](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/send-uplink-0000001057200983)
30+
- [Basic Capabilities](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/basiccapabilities-0000001050417999?ha_source=hms1)
31+
- [Topic-based Message Sending](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/topicbased-message-0000001050190681?ha_source=hms1)
32+
- [Receiving Data Messages](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/receiving-data-messages-at-killed-state-0000001058199547?ha_source=hms1)
33+
- [Deep Linking with Custom Intent URIs](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/deeplinking-custom-0000001055875857?ha_source=hms1)
34+
- [Obtaining Initial Messages](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/get-initial-notif-0000001056552970?ha_source=hms1)
35+
- [Listening to Message Tap Events](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/listen-notif-message-0000001057481400?ha_source=hms1)
36+
- [Sending Local Notification Messages](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/send-local-notif-0000001057760996?ha_source=hms1)
37+
- [Sending Uplink Messages](https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides/send-uplink-0000001057200983?ha_source=hms1)
3138

3239
## Questions or Issues
3340

3441
If you have questions about how to use HMS samples, try the following options:
3542
- [Stack Overflow](https://stackoverflow.com/questions/tagged/huawei-mobile-services) is the best place for any programming questions. Be sure to tag your question with
3643
**huawei-mobile-services**.
3744
- [Github](https://github.com/HMS-Core/hms-flutter-plugin) is the official repository for these plugins, You can open an issue or submit your ideas.
38-
- [Huawei Developer Forum](https://forums.developer.huawei.com/forumPortal/en/home?fid=0101187876626530001) HMS Core Module is great for general questions, or seeking recommendations and opinions.
39-
- [Huawei Developer Docs](https://developer.huawei.com/consumer/en/doc/overview/HMS-Core-Plugin) is place to official documentation for all HMS Core Kits, you can find detailed documentations in there.
45+
- [Huawei Developer Forum](https://forums.developer.huawei.com/forumPortal/en/home?fid=0101187876626530001?ha_source=hms1) HMS Core Module is great for general questions, or seeking recommendations and opinions.
46+
- [Huawei Developer Docs](https://developer.huawei.com/consumer/en/doc/overview/HMS-Core-Plugin?ha_source=hms1) is place to official documentation for all HMS Core Kits, you can find detailed documentations in there.
4047

4148
If you run into a bug in our samples, please submit an issue to the [GitHub repository](https://github.com/HMS-Core/hms-flutter-plugin).
4249

flutter-hms-push/android/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ android {
4040
}
4141

4242
dependencies {
43-
implementation 'com.huawei.hms:push:5.0.2.300'
43+
implementation 'com.huawei.hms:push:5.1.1.301'
44+
implementation 'com.huawei.hms:push-fcm:5.1.1.301'
4445
implementation 'com.facebook.fresco:fresco:2.2.0'
4546
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

flutter-hms-push/android/gradlew

Lines changed: 33 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flutter-hms-push/android/gradlew.bat

Lines changed: 24 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flutter-hms-push/android/src/main/java/com/huawei/hms/flutter/push/HeadlessPushPlugin.java

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,6 @@
2727
import com.huawei.hms.flutter.push.utils.RemoteMessageUtils;
2828
import com.huawei.hms.push.RemoteMessage;
2929

30-
import java.util.Arrays;
31-
import java.util.List;
32-
import java.util.concurrent.atomic.AtomicBoolean;
33-
3430
import io.flutter.plugin.common.MethodCall;
3531
import io.flutter.plugin.common.MethodChannel;
3632
import io.flutter.plugin.common.PluginRegistry;
@@ -39,25 +35,30 @@
3935
import io.flutter.view.FlutterNativeView;
4036
import io.flutter.view.FlutterRunArguments;
4137

38+
import java.util.Arrays;
39+
import java.util.List;
40+
import java.util.concurrent.atomic.AtomicBoolean;
41+
4242
public class HeadlessPushPlugin implements MethodChannel.MethodCallHandler {
4343
private static final String TAG = HeadlessPushPlugin.class.getSimpleName();
4444

45-
public final static String KEY_HANDLER = "push_background_message_handler";
46-
public final static String KEY_CALLBACK = "push_background_message_callback";
45+
public static final String KEY_HANDLER = "push_background_message_handler";
46+
47+
public static final String KEY_CALLBACK = "push_background_message_callback";
4748

48-
private static MethodChannel methodBackgroundChannel;
4949
private static PluginRegistry.PluginRegistrantCallback pluginRegistrantCallback;
5050

51+
private MethodChannel methodBackgroundChannel;
52+
5153
private Context context;
5254

53-
private static FlutterNativeView flutterNativeView;
55+
private FlutterNativeView flutterNativeView;
5456

5557
private static final AtomicBoolean SYNCHRONIZER = new AtomicBoolean(false);
5658

5759
public HeadlessPushPlugin(Context context) {
5860
this.context = context;
59-
if (flutterNativeView == null)
60-
initFlutterNativeView();
61+
initFlutterNativeView();
6162

6263
// Queue events while background isolate is starting
6364
waitFlutterNativeView();
@@ -86,7 +87,6 @@ static void setPluginRegistrant(PluginRegistry.PluginRegistrantCallback callback
8687
pluginRegistrantCallback = callback;
8788
}
8889

89-
9090
public void handleBackgroundMessage(Context context, RemoteMessage remoteMessage) {
9191

9292
SharedPreferences prefs = context.getSharedPreferences(Core.PREFERENCE_NAME, Context.MODE_PRIVATE);
@@ -106,24 +106,19 @@ private void initFlutterNativeView() {
106106
FlutterMain.ensureInitializationComplete(context, null);
107107

108108
SharedPreferences prefs = context.getSharedPreferences(Core.PREFERENCE_NAME, Context.MODE_PRIVATE);
109-
Long mCallbackHandle = prefs.getLong(KEY_HANDLER, -1);
109+
long mCallbackHandle = prefs.getLong(KEY_HANDLER, -1);
110110

111-
FlutterCallbackInformation callbackInfo = FlutterCallbackInformation
112-
.lookupCallbackInformation(mCallbackHandle);
113-
114-
if (callbackInfo == null) {
115-
Log.e(TAG, "ERROR : failed to find callback");
116-
return;
117-
}
111+
FlutterCallbackInformation callbackInfo = FlutterCallbackInformation.lookupCallbackInformation(mCallbackHandle);
118112

119113
flutterNativeView = new FlutterNativeView(context.getApplicationContext(), true);
120114

121115
// Create the Transmitter Channel
122116
methodBackgroundChannel = new MethodChannel(flutterNativeView, Channel.BACKGROUND_MESSAGE_CHANNEL.id());
123117
methodBackgroundChannel.setMethodCallHandler(this);
124118

125-
if (pluginRegistrantCallback == null)
119+
if (pluginRegistrantCallback == null) {
126120
return;
121+
}
127122

128123
pluginRegistrantCallback.registerWith(flutterNativeView.getPluginRegistry());
129124

0 commit comments

Comments
 (0)