AppBoxoSDK 1.5.8

AppBoxoSDK 1.5.8

KubaMalik KekenovAppboxoazamat 维护。



  • Appboxo

安装

安装以下内容

  • 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 文件。