BBASMShareAdapterProtocol.h 3.75 KB
//
//  BBASMShareAdapterProtocol.h
//  BBAMNP
//
//  Created by baidu on 2019/5/6.
//  Copyright © 2019 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BBASMAdapterBaseImplement.h"

NS_ASSUME_NONNULL_BEGIN

/**
 * @brief 分享游戏视频回调状态
 */
typedef NS_ENUM(NSUInteger, BBASMShareResult) {
    BBASMShareResultSuccess,
    BBASMShareResultFail,
    BBASMShareResultCancel
};

/**
 * @brief 小程序&小游戏分享协议
 */
@protocol BBASMShareAdapterProtocol <NSObject>

/**
 * 调起分享
 *
 * @param content 分享参数
 *                {
 *                    "type":"image/url/audio/video",          // 可选,分享类型,支持图片、网页(url)、音频)、视频类型
 *                    "style":"1/2",                          // 可选,1:白色面板风格(默认), 2:黑色面板风格。(双端9.2支持)
 *                    "title":"分享标题",                       // 可选,分享内容标题,字数小于512
 *                    "content":"分享内容摘要",                  // 可选,分享内容摘要,字数小于1024
 *                    "linkUrl":"分享网页URL",                  // 网页、音频、视频类型分享必填(Android为必填参数)
 *                    "imageUrl":"图片分享的图片URL",            // 图片分享必填
 *                    "audioUrl":"音频分享的音频源地址URL",       // 可选,音频分享的音频源地址URL
 *                    "videoUrl":"视频分享的视频源地址URL",       // 可选,视频分享的视频源地址URL
 *                    "iconUrl":"网页、音频、视频分享的缩略图URL", // 可选,网页、音频、视频类型分享缩略图,
 *                    "command": {                             // 口令相关配置,分享类型为网页、视频、音频类型时生效
 *                        "cmd_pannel":[XXX, XXX, XXX]         // 字符串数组,配置面板中哪些渠道使用口令分享,渠道标识参考表2
 *                        "info":{XXX:XXX, XXX:XXX}            // 透传给口令模块的数据
 *                    }
 *                    "mediaType":"all",                       // 可选,用于指定调起某一特定类型渠道的分享,例如:微信,默认为"all"展现面板供用户选择择,渠道标识参考表2
 *                    "pannel":["XXX","XXX"],                  // 可选,字符串数组,用于配置弹出面板上渠道按钮及顺序,渠道标识参考表2
 *                    "source":"业务来源标识",                   // 必填,分享来源标识。
 *                 }
 * @param callback 分享回调 status: 错误码 0: 成功, 1: 失败, 2: 取消, 3: 未知
 *                         message = 错误描述
 */
+ (void)shareContent:(NSDictionary *)content
            callback:(void (^)(NSString *status, NSString *message))callback;

/**
 * @brief 小游戏主动拉起发布视频界面
 *
 * @param dict 参数
 * @param completion 完成回调  info: 回调信息,
 *                            resultType: 结果状态
 */
+ (void)shareGameVideoWithDict:(NSDictionary *)dict
                    completion:(void (^)(NSDictionary *info, BBASMShareResult resultType))completion;

@optional
/**
 * @brief 获取分享短链
 *
 * @param appId 小程序Id
 * @param appKey 小程序appKey
 * @param path 当前页面路径
 * @param customString 自定义参数
 * @param callback 回调
 */
+ (void)fetchShortShareLinkWithAppId:(NSString *)appId
                              appKey:(NSString *)appKey
                                path:(NSString *)path
                        customString:(NSString *)customString
                            callback:(void (^)(NSString *shareLink))callback;

@end

NS_ASSUME_NONNULL_END