要运行示例项目,首先克隆仓库,然后从 Example 目录内运行 pod install
。
PathPlug 提供 SDK 的两种版本。对于需要支持 iOS7 的开发者,我们有 libPathPlug.a。从 iOS8 开始,我们将使用 PathPlugSDK.framework 发布我们的 SDK。
自动引用计数 (ARC)
PathPlug 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中
pod "PathPlugSDK"
或者,您可以克隆这个仓库并使用位于 /Pod/ 目录下的 PathPlugSDK.framework 或 libPathPlugSDK.a。
您可以在 PrefixHeader 中导入 PathPlugSDK 以方便访问(可选)
#import <PathPlugSDK/PathPlugSDK.h>
您将需要两个键 App Key 和 App Secret。您可以从 www.pathlug.com 获取它们。您可以在任何视图控制器上执行设置,如下例所示
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// ...#import <PathPlugSDK/PathPlugSDK.h>
[[PathPlug sharedPlug] initWithAppKey:@"AppKey" andAppSecret:@"AppSecret"];
// ...
return YES;
}
PathPlugSDK 初始化一个单例对象,您可以在应用的任何地方使用它。
PathPlug *pathPlug = [PathPlug sharedPlug];
停止 PathPlug 服务
– stopService
启动 PathPlug 服务
– startService
返回应用于应用的 beacons 数组
– getBeaconList
添加信标
-(void)addBeaconToMonitoring:(Beacon*)beacon;
移除信标
-(void)removeBeaconFromMonitoring:(Beacon*)beacon;
您可以对 PathPlugSDK 应处理哪些交互拥有完全控制权。我们提供方法来控制每个交互,您还可以使用单个命令启用或禁用所有信标。
-(void)enableHeatmap;
-(void)disableHeatmap;
-(void)enableVirtualTag;
-(void)disableVirtualTag;
-(void)enableSmartNote;
-(void)disableSmartNote;
-(void)enableAudioSign;
-(void)disableAudioSign;
-(void)enableAllBeacons;
-(void)disableAllBeacons;
assitanceRefreshInterval
virtualTagRefreshInterval
smartNoteRefreshInterval
AssitanceEnabled
HeatmapEnabled
SmartNoteEnabled
BeaconInfoEnabled
VirtualTagEnabled
dataRefreshInterval
返回封装在Plug Data中的音频信号交互信息
- (void)pathPlug:(id)pathPlug getAssistanceData:(id)data
当热图活跃且发生区域进入/退出动作时触发
- (void)pathPlug:(id)pathPlug getHeatmapData:(id)data forBeacon:(id)beacon
当看到带有智能笔记对象的路标时触发
- (void)pathPlug:(id)pathPlug getSmartNoteData:(id)data
返回封装在Plug Data中的虚拟标签交互信息
- (void)pathPlug:(id)pathPlug getVirtualtagData:(id)data
当从API完全下载数据并准备好使用时触发
- (void)pathPlug:(id)pathPlug isFrameworkReady:(id)result
返回实时路标可见及其距离
- (void)pathPlug:(id)pathPlug updatedBeaconData:(id)beacon andDistance:(id)distance
我们为Treasurehunt提供了自己的管理器来更有效地处理不同的比赛和步骤。您可以通过以下方式访问它:
[PathPlug sharedPlug] treasureHuntManager];
检查我们是否针对当前问题设置了路标
-(void)treasureHuntManager:(TreasureHuntManager*)manager didRangeBeacon:(Beacon*)beacon;
检查我们是否从PathPlug服务器收到奖励代码
-(void)treasureHuntManager:(TreasureHuntManager *)manager didReceiveAwardCode:(NSString*)awardCode;
您可以设置从我们的后端定义的随机比赛。我们建议您为每个比赛定义两个或更多套件,以进一步吸引您的用户
-(void)setRandomContest;
控制函数
-(void)startTreasureHunt;
-(void)stopTreasureHunt;
-(void)resetTreasureHunt;
您还可以开始和停止(如果需要)路标的查找
-(void)startRanging;
-(void)stopRanging;
步骤控制器
-(void)moveToNextStep;
-(void)failStep;
-(void)successStep;
-(void)goToFinalStep;
您可以获取有关当前步骤的信息,用于UI和其他信息
-(TreasureHuntStep*)getCurrentStepInfo;
返回有关当前比赛的信息
-(TreasureHuntContest*)getCurrentContest;
总步骤数(用于计数器或页面指示器)
-(int)totalSteps;
检查给定路标是否活跃(高级)
-(BOOL)checkForActiveBeacon:(Beacon*)beacon;
您可以在以下位置访问PathPlug的类文档:此处
Berk Taner,[email protected]
PathPlug可在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。