ADmobile 广告聚合SDK_iOS_菜谱内容接入文档V1.0.0

更新日志

版本号 日期 更新日志
v1.0.0 2021-04-21 新增菜谱内容源,增加菜谱搜索、分类、查看、收藏功能。

1、概述

尊敬的开发者您好,欢迎使用菜谱内容SDK iOS,通过本文档您可以在几分钟之内轻松完成菜谱内容SDK的集成。

2、SDK的导入

1.推荐使用pod命令 (使用xcframework打包,需cocoapods版本1.9.0及以上版本,需ADSuyiSDK 3.1.6及以上版本)

pod 'ADSuyiSDK','~>3.1.6.0'
pod 'EcookSDK'

2.手动导入

ADSuyiSDK手动导入参考https://github.com/ADSuyi/ADSuyiSDKDemo-iOS

EcookSDK下载地址:http://121.41.108.203/adsuyi_kit/ecooksdk

下载文件解压后将.xcframework导入项目。

3、工程环境配置

1.打开项目的 app target,查看 Build Settings 中的 Linking-Other Linker Flags 选项,确保含有 -ObjC 一值, 若没有则添加。

2.在项目的 app target 中,查看 Build Settings 中的 Build options - Enable Bitcode 选项, 设置为NO。

3.在info.plist添加支持http访问字段

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

4、SDK的初始化

// ADSuyiSDK初始化
[ADSuyiSDK initWithAppId:@"3993370" completionBlock:^(NSError * _Nonnull error) {
    if (error) {
        NSLog(@"SDK 初始化失败:%@", error.localizedDescription);
    }
}];

注意:初次初始化SDK 可能因网络权限获取等原因导致SDK初始化失败,SDK初始化失败,接入菜谱内容控制器将无法显示数据并返回nil。建议在接入时对SDK初始化状态做判断。

5、菜谱内容SDK

// 返回控制器类型
typedef NS_ENUM(NSUInteger, ADSuyiEcookType) {
  // 使用present方式弹出控制器
    ADSuyiEcookTypePresent,
  // 使用push方式推出控制器
    ADSuyiEcookTypePush,
  // 作为tabbar的子控制器
    ADSuyiEcookTypeTabBar,
};

@interface ADSuyiSDKEcook : NSObject

 // 设置菜谱SDK内部信息流及横幅广告位ID 需在获取控制器前获取
+ (void)setNativeAdPosid:(nullable NSString *)nativeAdPosid bannerAdPosid:(nullable NSString *)bannerAdPosid;

// 获取菜谱SDK控制器
+ (nullable UIViewController *)ecookViewControllerWithType:(ADSuyiEcookType)type error:(nullable NSError *)error;


@end

6、接入方式

//1、以present方式推出
NSError *error = nil;
            UIViewController *vc = [ADSuyiSDKEcook ecookViewControllerWithType:ADSuyiEcookTypePresent error:&error];
            UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:vc];
            nvc.navigationBarHidden = YES;
            nvc.modalPresentationStyle = UIModalPresentationFullScreen;
            if (!error)
                [self presentViewController:nvc animated:YES completion:nil];

// 2、以push方式推出
NSError *error = nil;
            UIViewController *vc = [ADSuyiSDKEcook ecookViewControllerWithType:ADSuyiEcookTypePush error:&error];
            UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:vc];
            nvc.navigationBarHidden = YES;
            nvc.modalPresentationStyle = UIModalPresentationFullScreen;
            if (!error)
                [self.navigationController pushViewController:nvc animated:YES];

// 3、作为tabbar子控制器
NSError *error = nil;
            UIViewController *evc = [ADSuyiSDKEcook ecookViewControllerWithType:ADSuyiEcookTypeTabBar error:&error];
            UITabBarController *tc = [UITabBarController new];
            tc.modalPresentationStyle = UIModalPresentationFullScreen;

            UIViewController *fvc = [UIViewController new];
            fvc.view.backgroundColor = [UIColor whiteColor];
            fvc.tabBarItem.title = @"空白";
            UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:evc];
            nvc.navigationBarHidden = YES;
            nvc.tabBarItem.title = @"菜谱";
            nvc.hidesBottomBarWhenPushed = YES;
            if (!error) {
                tc.viewControllers = @[fvc, nvc];
            }else {
                tc.viewControllers = @[fvc];
            }
            [self presentViewController:tc animated:YES completion:nil];

results matching ""

    No results matching ""