umeng_analytics_push 1.0.8 umeng_analytics_push: ^1.0.8 copied to clipboard
Umeng Analytics&Push Flutter Plugins, Data analysis and message push for Android and IOS applications.
Umeng Analytics&Push Flutter Plugins(umeng_analytics_push) #
- Language: English | 中文简体
- Umeng API: umeng:analytics & umeng:push
- Note: The following document description shall prevail, do not refer to the settings in the example
Usages #
Import #
dependencies:
umeng_analytics_push: ^x.x.x #最新版本见上方
# Or import through Git (choose one, Git version may be updated more timely)
dependencies:
umeng_analytics_push:
git:
url: https://github.com/zileyuan/umeng_analytics_push.git
Android settings (with Kotlin example) #
Create a custom FlutterApplication class as the startup class, if the push function is not needed, uemng_push_id is set to empty, If you do not need to customize Push click, set the last parameter to false
package com.demo.umeng.app
import io.flutter.app.FlutterApplication
import io.github.zileyuan.umeng_analytics_push.UmengAnalyticsPushFlutterAndroid
class MyFlutterApplication: FlutterApplication() {
override fun onCreate() {
super.onCreate();
UmengAnalyticsPushFlutterAndroid.androidInit(this, "uemng_app_key", "default",
false, "uemng_message_secret", false)
}
}
Modify MainActivity, add Umeng settings
package com.demo.umeng.app
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
import io.github.zileyuan.umeng_analytics_push.UmengAnalyticsPushFlutterAndroid
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
override fun onResume() {
super.onResume()
UmengAnalyticsPushFlutterAndroid.androidOnResume(this)
}
override fun onPause() {
super.onPause()
UmengAnalyticsPushFlutterAndroid.androidOnPause(this)
}
}
Modify the AndroidManifest.xml file
<application
android:name="com.demo.umeng.app.MyFlutterApplication">
</application>
IOS settings (with Swift example) #
Modify AppDelegate.swift file, If Push function is not needed then pushEnabled is set to false
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GeneratedPluginRegistrant.register(with: self)
UmengAnalyticsPushFlutterIos.iosInit(launchOptions, appkey:"uemng_app_key", channel:"appstore", logEnabled:false, pushEnabled:true);
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
// If you need to handle custom Push clicks, use the following code
@available(iOS 10.0, *)
override func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
let userInfo = response.notification.request.content.userInfo
UmengAnalyticsPushFlutterIos.handleCustomMessagePush(userInfo)
completionHandler()
}
}
Modify Runner-Bridging-Header.h file
#import "GeneratedPluginRegistrant.h"
#import <UMCommon/UMCommon.h>
#import <UMAnalytics/MobClick.h>
#import <UMPush/UMessage.h>
#import <UserNotifications/UserNotifications.h>
#import <umeng_analytics_push/UmengAnalyticsPushIos.h>
Use in Flutter #
Operation Alias
import 'package:umeng_analytics_push/umeng_analytics_push.dart';
UmengAnalyticsPush.addAlias('1001', 'jobcode');
UmengAnalyticsPush.setAlias('1002', 'jobcode');
UmengAnalyticsPush.deleteAlias('1002', 'jobcode');
Operation Tags
import 'package:umeng_analytics_push/umeng_analytics_push.dart';
UmengAnalyticsPush.addTags('manager');
UmengAnalyticsPush.deleteTags('manager');
Page buried point operation
import 'package:umeng_analytics_push/umeng_analytics_push.dart';
UmengAnalyticsPush.pageStart('memberPage');
UmengAnalyticsPush.pageEnd('memberPage');
Custom event
import 'package:umeng_analytics_push/umeng_analytics_push.dart';
UmengAnalyticsPush.event('customEvent', '1000');
Custom click Push response(Turn on the switch when initialization is required)
import 'package:umeng_analytics_push/umeng_analytics_push.dart';
UmengAnalyticsPush.addPushCustomMessageCallback((custom) {
print(custom);
});