Skip to content

Commit 0a9a09b

Browse files
committed
iOS SDK2.6.0添加效果点明细统计
1 parent a4314e2 commit 0a9a09b

File tree

4 files changed

+68
-11
lines changed

4 files changed

+68
-11
lines changed

example/ad-track/OpeninstallFlutterPlugin.m

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#import <UIKit/UIKit.h>
2+
13
#import "OpeninstallFlutterPlugin.h"
24

35
#import "OpenInstallSDK.h"
@@ -87,7 +89,11 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
8789
{
8890
NSDictionary * args = call.arguments;
8991
NSNumber * pointValue = (NSNumber *) args[@"pointValue"];
90-
[[OpenInstallSDK defaultManager] reportEffectPoint:(NSString *)args[@"pointId"] effectValue:[pointValue longValue]];
92+
if ([args.allKeys containsObject:@"extras"]) {
93+
[[OpenInstallSDK defaultManager] reportEffectPoint:(NSString *)args[@"pointId"] effectValue:[pointValue longValue] effectDictionary:(NSDictionary *)args[@"extras"]];
94+
}else{
95+
[[OpenInstallSDK defaultManager] reportEffectPoint:(NSString *)args[@"pointId"] effectValue:[pointValue longValue]];
96+
}
9197
break;
9298
}
9399
default:
@@ -182,6 +188,10 @@ + (void)OpInit:(OpeninstallFlutterPlugin *)obj{
182188
NSError *error;
183189
NSString *token = [AAAttribution attributionTokenWithError:&error];
184190
[config setValue:token forKey:OP_ASA_Token];
191+
#ifdef DEBUG
192+
[config setValue:@(YES) forKey:OP_ASA_isDev];//该配置请不要带入正式环境中
193+
#else
194+
#endif
185195
}
186196
//第三方广告平台统计代码
187197
NSString *idfaStr = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
@@ -193,6 +203,7 @@ + (void)OpInit:(OpeninstallFlutterPlugin *)obj{
193203
#pragma mark - Application Delegate
194204
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
195205
[OpeninstallFlutterPlugin initOpenInstall:self];
206+
// [OpeninstallFlutterPlugin setUserActivityAndScheme:launchOptions];
196207
return YES;
197208
}
198209

@@ -216,4 +227,24 @@ - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserAct
216227
return NO;
217228
}
218229

230+
+ (void)setUserActivityAndScheme:(NSDictionary *)launchOptions{
231+
if (launchOptions[UIApplicationLaunchOptionsUserActivityDictionaryKey]) {
232+
NSDictionary *activityDic = [NSDictionary dictionaryWithDictionary:launchOptions[UIApplicationLaunchOptionsUserActivityDictionaryKey]];
233+
234+
if ([activityDic[UIApplicationLaunchOptionsUserActivityTypeKey] isEqual: NSUserActivityTypeBrowsingWeb]&&activityDic[@"UIApplicationLaunchOptionsUserActivityKey"]) {
235+
NSUserActivity *activity = [[NSUserActivity alloc]initWithActivityType:NSUserActivityTypeBrowsingWeb];
236+
activity = (NSUserActivity *)activityDic[@"UIApplicationLaunchOptionsUserActivityKey"];
237+
[OpeninstallFlutterPlugin continueUserActivity:activity];
238+
}
239+
}else if (launchOptions[UIApplicationLaunchOptionsURLKey]){
240+
NSURL *url = [[NSURL alloc]init];
241+
if ([launchOptions[UIApplicationLaunchOptionsURLKey] isKindOfClass:[NSURL class]]) {
242+
url = launchOptions[UIApplicationLaunchOptionsURLKey];
243+
}else if ([launchOptions[UIApplicationLaunchOptionsURLKey] isKindOfClass:[NSString class]]){
244+
url = [NSURL URLWithString:launchOptions[UIApplicationLaunchOptionsURLKey]];
245+
}
246+
[OpeninstallFlutterPlugin handLinkURL:url];
247+
}
248+
}
249+
219250
@end

example/ios/Runner/AppDelegate.m

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "AppDelegate.h"
22
#include "GeneratedPluginRegistrant.h"
3+
//如果是swift,请在桥接文件(一般命名为XXX-Bridging-Header.h)中引入
34
#import <openinstall_flutter_plugin/OpeninstallFlutterPlugin.h>
45

56

@@ -9,35 +10,30 @@ - (BOOL)application:(UIApplication *)application
910
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
1011
[GeneratedPluginRegistrant registerWithRegistry:self];
1112
// Override point for customization after application launch.
13+
1214
return [super application:application didFinishLaunchingWithOptions:launchOptions];
1315
}
1416

1517

1618
//添加此方法以获取拉起参数
1719
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
1820
//判断是否通过OpenInstall Universal Link 唤起App
19-
if ([OpeninstallFlutterPlugin continueUserActivity:userActivity]){//如果使用了Universal link ,此方法必写
20-
return YES;
21-
}
21+
[OpeninstallFlutterPlugin continueUserActivity:userActivity];
2222
//其他第三方回调;
2323
return YES;
2424
}
2525

2626
//适用目前所有iOS版本
2727
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
2828
//判断是否通过OpenInstall URL Scheme 唤起App
29-
if([OpeninstallFlutterPlugin handLinkURL:url]){//必写
30-
return YES;
31-
}
29+
[OpeninstallFlutterPlugin handLinkURL:url];
3230
//其他第三方回调;
3331
return YES;
3432
}
3533
//iOS9以上,会优先走这个方法
3634
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary *)options{
3735
//判断是否通过OpenInstall URL Scheme 唤起App
38-
if ([OpeninstallFlutterPlugin handLinkURL:url]){//必写
39-
return YES;
40-
}
36+
[OpeninstallFlutterPlugin handLinkURL:url];
4137
//其他第三方回调;
4238
return YES;
4339
}

ios/Classes/OpeninstallFlutterPlugin.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,8 @@
1616
*/
1717
+ (BOOL)continueUserActivity:(NSUserActivity *) userActivity;
1818

19+
20+
+ (void)setUserActivityAndScheme:(NSDictionary *)launchOptions;
21+
1922
@end
2023

ios/Classes/OpeninstallFlutterPlugin.m

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#import <UIKit/UIKit.h>
2+
13
#import "OpeninstallFlutterPlugin.h"
24

35
#import "OpenInstallSDK.h"
@@ -84,7 +86,11 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
8486
{
8587
NSDictionary * args = call.arguments;
8688
NSNumber * pointValue = (NSNumber *) args[@"pointValue"];
87-
[[OpenInstallSDK defaultManager] reportEffectPoint:(NSString *)args[@"pointId"] effectValue:[pointValue longValue]];
89+
if ([args.allKeys containsObject:@"extras"]) {
90+
[[OpenInstallSDK defaultManager] reportEffectPoint:(NSString *)args[@"pointId"] effectValue:[pointValue longValue] effectDictionary:(NSDictionary *)args[@"extras"]];
91+
}else{
92+
[[OpenInstallSDK defaultManager] reportEffectPoint:(NSString *)args[@"pointId"] effectValue:[pointValue longValue]];
93+
}
8894
break;
8995
}
9096
default:
@@ -187,4 +193,25 @@ - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserAct
187193
return NO;
188194
}
189195

196+
+ (void)setUserActivityAndScheme:(NSDictionary *)launchOptions{
197+
if (launchOptions[UIApplicationLaunchOptionsUserActivityDictionaryKey]) {
198+
NSDictionary *activityDic = [NSDictionary dictionaryWithDictionary:launchOptions[UIApplicationLaunchOptionsUserActivityDictionaryKey]];
199+
200+
if ([activityDic[UIApplicationLaunchOptionsUserActivityTypeKey] isEqual: NSUserActivityTypeBrowsingWeb]&&activityDic[@"UIApplicationLaunchOptionsUserActivityKey"]) {
201+
NSUserActivity *activity = [[NSUserActivity alloc]initWithActivityType:NSUserActivityTypeBrowsingWeb];
202+
activity = (NSUserActivity *)activityDic[@"UIApplicationLaunchOptionsUserActivityKey"];
203+
[OpeninstallFlutterPlugin continueUserActivity:activity];
204+
}
205+
}else if (launchOptions[UIApplicationLaunchOptionsURLKey]){
206+
NSURL *url = [[NSURL alloc]init];
207+
if ([launchOptions[UIApplicationLaunchOptionsURLKey] isKindOfClass:[NSURL class]]) {
208+
url = launchOptions[UIApplicationLaunchOptionsURLKey];
209+
}else if ([launchOptions[UIApplicationLaunchOptionsURLKey] isKindOfClass:[NSString class]]){
210+
url = [NSURL URLWithString:launchOptions[UIApplicationLaunchOptionsURLKey]];
211+
}
212+
[OpeninstallFlutterPlugin handLinkURL:url];
213+
}
214+
}
215+
216+
190217
@end

0 commit comments

Comments
 (0)