jpush/jpush-unity3d-plugin
Fork: 51 Star: 114 (更新于 2024-11-06 21:48:50)
license: 暂无
Language: C# .
JPush's officially supported Unity3d plugin (Android & iOS). 极光推送官方支持的 Unity3d 插件(Android & iOS)。
最后发布版本: v3.4.1 ( 2022-09-20 18:49:20)
JPush Unity Plugin
这是极光官方支持的 JPush Unity 插件(Android & iOS)。
集成
把Plugins文件夹里的文件合并到您自己的项目Assets/Plugins文件夹下面
Android
- 生成build文件: 在 Unity 中选择 File---Build Settings---Player Settings ---Publishing Settings ---- Build 勾上选以下选项下:
- Custom Launcher Gradle Template
会生成以下文件
- launcherTemplate.gradle文件
修改launcherTemplate.gradle文件:
- 在dependencies里面加
implementation 'cn.jiguang.sdk:jpush:4.9.0' // 此处以JPush 4.9.0 版本为例。
implementation 'cn.jiguang.sdk:jcore:4.1.0' // 此处以JCore 4.1.0 版本为例。
- 在defaultConfig里面加,并填写对应信息
manifestPlaceholders = [
JPUSH_PKGNAME : applicationId,
JPUSH_APPKEY : "你的 Appkey ", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
]
具体可参考Examples下 launcherTemplate.gradle 文件
- 配置项目里的包名:在 Unity 中选择 File---Build Settings---Player Settings,将 Identification 选项下的 Bundle Identifier 设置为应用的包名。
iOS
-
生成 iOS 工程,并打开该工程。
-
添加必要的框架:
-
CFNetwork.framework
-
CoreFoundation.framework
-
CoreTelephony.framework
-
SystemConfiguration.framework
-
CoreGraphics.framework
-
Foundation.framework
-
UIKit.framework
-
Security.framework
-
libz.tbd(Xcode 7 以下版本是 libz.dylib)
-
AdSupport.framework(获取 IDFA 需要;如果不使用 IDFA,请不要添加)
-
UserNotifications.framework(Xcode 8 及以上)
-
libresolv.tbd(JPush 2.2.0 及以上版本需要,Xcode 7 以下版本是 libresolv.dylib)
-
WebKit.framework(JPush 3.3.0 及以上版本需要)
-
AppTrackingTransparency.framework(Xcode 12 及以上,获取 IDFA 需要;如果不使用 IDFA,请不要添加)
-
StoreKit.framework(JPush 3.3.6 及以上版本需要)
-
-
在 UnityAppController.mm 中添加头文件
JPUSHService.h
。#import "JPUSHService.h" #import "JPushEventCache.h" #import <UserNotifications/UserNotifications.h> // 如需使用广告标识符 IDFA 则添加该头文件,否则不添加。 #import <AdSupport/AdSupport.h> @interface UnityAppController () @end
-
在 UnityAppController.mm 的下列方法中添加以下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[JPushEventCache sharedInstance] handFinishLaunchOption:launchOptions]; /* 不使用 IDFA 启动 SDK。 参数说明: appKey: 极光官网控制台应用标识。 channel: 频道,暂无可填任意。 apsForProduction: YES: 发布环境;NO: 开发环境。 */ [JPUSHService setupWithOption:launchOptions appKey:@"abcacdf406411fa656ee11c3" channel:@"" apsForProduction:NO]; /* 使用 IDFA 启动 SDK(不能与上述方法同时使用)。 参数说明: appKey: 极光官网控制台应用标识。 channel: 频道,暂无可填任意。 apsForProduction: YES: 发布环境;NO: 开发环境。 advertisingIdentifier: IDFA广告标识符。根据自身情况选择是否带有 IDFA 的启动方法,并注释另外一个启动方法。 */ // NSString *advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; // [JPUSHService setupWithOption:launchOptions appKey:@"替换成你自己的 Appkey" channel:@"" apsForProduction:NO SadvertisingIdentifier:advertisingId]; return YES; } - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { // Required. [JPUSHService registerDeviceToken:deviceToken]; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // Required. [[JPushEventCache sharedInstance] sendEvent:userInfo withKey:@"JPushPluginReceiveNotification"]; [JPUSHService handleRemoteNotification:userInfo]; } - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler { [[JPushEventCache sharedInstance] sendEvent:userInfo withKey:@"JPushPluginReceiveNotification"]; }
5.有些Unity版本在导出Xcode项目之后,需要修改:
Preprocessor.h 文件中
#define UNITY_USES_REMOTE_NOTIFICATIONS 0
更改为
#define UNITY_USES_REMOTE_NOTIFICATIONS 1
否则
didReceiveRemoteNotification
didRegisterForRemoteNotificationsWithDeviceToken
didReceiveRemoteNotification
都将无法使用
API 说明
Android 与 iOS 通用 API。
Android
./Plugins/Android/jpush-unity-plugin 为插件的 Android 项目,可以使用 Android Studio 打开并进行修改(比如,targetSdkVersion 或者 minSdkVersion),再 build 为 .aar 替换已有的 jpush.aar。
iOS
更多
- JPush 官网文档
- 有问题可访问极光社区搜索和提问。
最近版本更新:(数据更新于 2024-09-24 18:56:31)
2022-09-20 18:49:20 v3.4.1
2020-08-13 14:28:47 v3.4.0
2020-01-02 16:48:20 v3.3.1
2020-01-02 16:47:26 v3.3.0
2019-07-25 15:01:48 v3.2.9
2019-05-30 16:34:59 v3.2.8
2018-10-17 15:17:26 v3.2.7
2018-07-26 10:12:26 v3.2.6
2018-01-30 13:46:17 v3.2.0
2018-01-23 15:27:14 v3.1.4
jpush/jpush-unity3d-plugin同语言 C#最近更新仓库
2024-11-22 23:00:06 BililiveRecorder/BililiveRecorder
2024-11-19 11:38:46 jellyfin/jellyfin
2024-11-15 10:33:01 DigitalRuby/IPBan
2024-11-13 04:41:56 dotnet/runtime
2024-11-07 00:43:03 huiyadanli/RevokeMsgPatcher
2024-11-06 13:04:33 Pik-4/HsMod