安装
安装以下内容
- Xcode 11.1 或更高版本
- CocoaPods 1.8.1 或更高版本
确保您的项目满足以下要求
- 您的项目必须针对 iOS 10 或更高版本。
- Swift 项目必须使用 Swift 4.2 或更高版本。
CocoaPods 安装
CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和方法,请访问他们的网站。要使用 CocoaPods 将 AppBoxoSDK 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它
pod 'AppBoxoSDK'
在 info.plist 中添加 Camera Usage Description
您将需要关于相机使用的原因。为此,您需要在您的 Info.plist 中添加 Privacy - Camera Usage Description (NSCameraUsageDescription) 字段
在 info.plist 中添加 Privacy - Location When In Use Usage Description
您将需要关于位置使用的原因。为此,您需要在您的 Info.plist 中添加 Privacy - Location When In Use Usage Description (NSLocationWhenInUseUsageDescription) 字段
在 info.plist 中添加 Privacy - Microphone Usage Description
您将需要关于麦克风使用的原因。为此,您需要在您的 Info.plist 中添加 Privacy - Microphone Usage Description (NSMicrophoneUsageDescription) 字段
在您的 UIApplicationDelegate 中导入 AppBoxo 模块
Swift
import AppBoxoSDK
Objective-C
#import "AppBoxoSDK/AppBoxoSDK-Swift.h"
在您的应用中初始化 AppBoxo
通常在您的应用的 application:didFinishLaunchingWithOptions: 方法中配置 AppBoxo 共享实例:
Swift
Appboxo.shared.setConfig(config: Config(clientId: "client_id"))
Objective-C
[[Appboxo shared] setConfig:[[Config alloc] initWithClientId: @"client_id"]];
要打开 miniapp,请在您的 ViewController 中编写以下代码
Swift
import AppBoxoSDK
let miniapp = Appboxo.shared.getMiniapp(appId: "app_id")
miniapp.open(viewController: self)
Objective-C
#import "AppBoxoSDK/AppBoxoSDK-Swift.h"
Miniapp *miniapp = [[Appboxo shared] getMiniappWithAppId:@"app_id"];
[miniapp openWithViewController:self];
处理来自 miniapp 的自定义事件。
Swift
miniapp.delegate = self
并实现 MiniappDelegate
extension ViewController: MiniappDelegate {
func didReceiveCustomEvent(miniapp: Miniapp, customEvent: CustomEvent) {
let params = [
"message" : "message",
"id" : 1,
"checked" : true
]
miniapp.sendEvent(params: params)
}
}
Objective-C
[miniapp setDelegate:self];
并实现 MiniappDelegate
@interface ViewController () <MiniappDelegate>
//...
@end
@implementation ViewController
//...
- (void)didReceiveCustomEvent:(Miniapp *)miniapp customEvent:(CustomEvent *)customEvent {
customEvent.payload = @{
@"messasge" : @"text",
@"id" : @45,
@"checked" : @YES
};
[miniapp sendCustomEvent: customEvent];
}
@end
处理 miniapp 生命周期钩子。
Swift
miniapp.delegate = self
并实现 MiniappDelegate
extension ViewController: MiniappDelegate {
func onLaunch(miniapp: Miniapp) {
print("onLaunchMiniapp: \(miniapp.appId)")
}
func onResume(miniapp: Miniapp) {
print("onResumeMiniapp: \(miniapp.appId)")
}
func onPause(miniapp: Miniapp) {
print("onPauseMiniapp: \(miniapp.appId)")
}
func onClose(miniapp: Miniapp) {
print("onCloseMiniapp: \(miniapp.appId)")
}
func onError(miniapp: Miniapp, message: String) {
print("onErrorMiniapp: \(miniapp.appId) message: \(message)")
}
}
Objective-C
[miniapp setDelegate:self];
并实现 MiniappDelegate
@interface ViewController () <MiniappDelegate>
//...
@end
@implementation ViewController
//...
- (void)onLaunchMiniapp:(Miniapp *)miniapp {
NSLog(@"onLaunchMiniapp: %@",miniapp.appId);
}
- (void)onResumeMiniapp:(Miniapp *)miniapp {
NSLog(@"onResumeMiniapp: %@",miniapp.appId);
}
- (void)onPauseMiniapp:(Miniapp *)miniapp {
NSLog(@"onPauseMiniapp: %@",miniapp.appId);
}
- (void)onCloseMiniapp:(Miniapp *)miniapp {
NSLog(@"onCloseMiniapp: %@",miniapp.appId);
}
- (void)onErrorMiniapp:(Miniapp *)miniapp message:(NSString *)message {
NSLog(@"onErrorMiniapp: %@ message: %@",miniapp.appId,message);
}
@end
要退出所有移动应用程序内的 miniapp,使用此方法
Swift
Appboxo.shared.logout()
Objective-C
[[Appboxo shared] logout];
以下是一个示例项目:https://github.com/Appboxo/ios-sample-superapp
许可
AppBoxo 可在 MIT 许可下获得。有关更多信息,请参阅 LICENSE 文件。