官方教程之短视频app源码接入openinstall实现免填邀请码功能

发布来源:云豹科技
发布人:云豹科技
2021-12-20 10:04:22

短视频app源码在上线后,为了实现大规模推广,会开发用户邀请的功能。用户邀请新用户进行注册,建立上下级关系后,邀请用户可以获得短视频app源码的奖励。为了防止新用户注册后,不填写邀请码,短视频app源码推出了扫码邀请的方案,接下来就让我们看看是如何实现的。

1、pod添加openinstall的SDK


图片1.png


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,如图所示:


图片2.png


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

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
立即查看