官方教程之短视频app源码接入openinstall实现免填邀请码功能
短视频app源码在上线后,为了实现大规模推广,会开发用户邀请的功能。用户邀请新用户进行注册,建立上下级关系后,邀请用户可以获得短视频app源码的奖励。为了防止新用户注册后,不填写邀请码,短视频app源码推出了扫码邀请的方案,接下来就让我们看看是如何实现的。
1、pod添加openinstall的SDK
2、info.plist 添加openinstall key
<key>com.openinstall.APP_KEY</key> <string>ff2s9n</string>
3、初始化openinstall的SDK
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [OpenInstallSDK initWithDelegate:self]; }
4、添加通用链接
在AppDelegate中添加通用链接(Universal Links)回调方法,委托给 openinstall 来处理。
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{ //处理通过openinstall一键唤起App时传递的数据 [OpenInstallSDK continueUserActivity:userActivity]; };
5、配置Scheme信息
在Xcode里选中 Target -> Info -> URL Types,配置 openinstall 为当前应用生成的 Scheme,如图所示:
6、添加回调方法
在AppDelegate中添加 Scheme 回调方法,委托给OpeninstallSDK 来处理。
//适用目前所有iOS版本 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ //处理通过openInstall URL Scheme唤起App的数据 [OpenInstallSDK handLinkURL:url]; //其他第三方回调; return YES; } //iOS9以上,会优先走这个方法 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary *)options{ //处理通过openInstall URL Scheme唤起App的数据 [OpenInstallSDK handLinkURL:url]; //其他第三方回调; return YES; }
7、判断邀请码填写
当短视频app源码启动后,请求邀请码填写的接口进行判断,决定用户是否需要填写邀请码。
/* has_agent 是否填写过邀请码 agent_switch 手填邀请码开关 openinstall_switch openInstall 邀请码开关 当has_agent=1.填写过邀请码,直接略过 当has_agent !=1 判断codeinstall三方开关,当codeinstall开启时直接走免填SDK,当获取不到codeInstall的邀请码时,判断手填开关有没有开启,如果开启弹邀请码框,否则不弹。 当codeinstall关闭时判断手填开关有没有开启,当不需要手填邀请码时直接略过,否则弹手填邀请码框 */
8、获取邀请码
在 短视频app源码需要邀请码时,调用getInstallParmsCompleted方法,在回调中获取参数(可重复获取)。
+(void)showCodeInstall{ YBWeakSelf; [[OpenInstallSDK defaultManager] getInstallParmsCompleted:^(OpeninstallData*_Nullable appData) { //在主线程中回调 if (appData.data) {//(动态安装参数) //e.g.如免填邀请码建立邀请关系、自动加好友、自动进入某个群组或房间等 [weakSelf uploadInvitationV:minstr([appData.data valueForKey:@"code"])]; [Config saveisreg:@"0"]; }else { if ([[self getAgentSwitch] isEqual:@"0"]) { [Config saveisreg:@"0"]; }else{ if ([[self getAgentSwitch]isEqual:@"1"] && [[self getAgentMust]isEqual:@"1"]) { [self showInvitationView:YES]; }else{ [self showInvitationView:NO]; } } } if (appData.channelCode) {//(通过渠道链接或二维码安装会返回渠道编号) //e.g.可自己统计渠道相关数据等 } NSLog(@"OpenInstallSDK:\n动态参数:%@;\n渠道编号:%@",appData.data,appData.channelCode); }]; }
9、建立用户上下级关系
直接调用接口建立用户上下级关系,短视频app源码的邀请码功能完成。
+(void)uploadInvitationV:(NSString *)codeStr{ [YBNetworking postWithUrl:@"Agent.setAgent" Dic:@{@"agentcode":codeStr} Suc:^(int code, id info, NSString *msg) { if (code == 0) { } [MBProgressHUD showPop:msg]; } Fail:^(id fail) { }]; }
以上代码来自云豹短视频app源码项目,我们会持续讲解更多关于短视频app源码的开发技术,有兴趣的同学可以关注我们。
声明:以上内容为云豹科技原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com