bonus-material-app/nativeplugins/Mpaas-Scan/ios/mPaas.framework/Headers/MPaaSInterface.h

108 lines
3.6 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// MPaaSInterface.h
// mPaas
//
// Created by shenmo on 6/3/16.
// Copyright © 2016 Alibaba. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface MPaaSInterface : NSObject
+ (instancetype)sharedInstance;
#pragma mark - 配置方法通过Category覆盖以下方法实现应用的自定义配置
/**
* 是否允许使用MPaaS默认带的设置服务这个设置服务比较轻量只支持设置RPC、日志的网关地址与应用ID。
* 如果使用设置服务需要将配置写在GatewayConfig.plist文件中。
* 默认返回NO。
*
* <!!!> 对RPC与日志模块来说如果接入应用覆盖了DTRpcInterface与APLogAdditions的相关方法那么SettingService的设置会失效。
*
* 接入方可以自己定义Settings.bundle来修改配置不过选择的环境名称写入到NSUserDefaults后key必须为“kMPSelectedEnvironment”。
* 如果使用了设置服务初始化时读取不到kMPSelectedEnvironment的值会默认去GatewayConfig.plist文件中读取key为“Release”的配置字典。
* 默认的GatewayConfig.plist结构为
* Root
* |- Debug (子项与Release相同)
* |- Sit (子项与Release相同)
* |- Release
* |- MPaaSLogGateway 日志服务器地址类似“http://10.218.157.65”)
* |- MPaaSLogProductId 日志应用Id通常为带平台的APPKEY加workspaceId类似“APPKEY_IOS-0000017768”对内部应用类似为“IPHONE_1ND”这种。
* |- MPaaSRpcGateway RPC网关地址类似“http://42.120.224.143/mgw.htm”开发阶段可以使用http线上应该使用https。
* |- MPaaSRpcProductId RPC应用Id对内部应用来说一般同mPaasLogProductId。
*/
- (BOOL)enableSettingService;
/**
* 升级组件、Hotpatch等拉取Rpc或埋点日志上报时的userId。接入应用有自己的账户系统需要实现这个方法返回相应的userId值。如果是未登录态可以返回nil。
* 默认返回 nil
* @return 当前的userId
*/
- (NSString*)userId;
/**
* 当前应用的schema类似"alipay:"等。接入应用有自己的schema需要实现这个方法返回相应的schema值
* 默认返回 nil
* @return 当前应用的schema
*/
- (NSString *)appSchema;
/**
* 集成mPaaS SDK的渠道。
* @return 当前应用的schema
*/
- (NSString *)channelSource;
/**
* 是否启用 Thread Task Monitor
* 如果启用则会记录 Thread 调用信息
* 默认返回NO。
*/
- (BOOL)enableThreadTaskMonitor;
/**
* 是否允许处理工信部要求的隐私授权提示
*
* @return YES 允许否则不允许。默认返回NO
*/
- (BOOL)enablePrivacyAuth;
/**
* 框架托管情况下,重置保存的弹框状态,下次启动会重新触发弹框
*
*/
- (void)resetPrivacyAuth;
/**
* 是否由mPaaS用户控制隐私权限弹框处理逻辑。
*
* @return YES 允许否则不允许。默认返回NO即mPaaS业务方不处理
*/
- (BOOL)enableUserOverWriteAuthAlert;
/**
* 检查当前是否提示隐私授权。
*
* @return YES 提示,否则不提示
*/
- (BOOL)shouldShowAuthAlert;
#pragma mark mPaaS内部接口开发者请勿调用否则后果自负
/**
* 检查当前是否提示隐私授权。框架托管情况下SDK内部方法开发者请勿调用
*
* @return YES 提示,否则不提示
*/
- (BOOL)APPrivacyAuthShow;
/**
* 框架托管情况下,用户点击同意后,保存当前状态。框架内部方法,开发者请勿调用
*/
- (void)didAgreePrivacyAuth;
@end