VENPromotionsManager 1.0.0

VENPromotionsManager 1.0.0

测试已测试
语言语言 Objective-CObjective C
许可证 MIT
发布最后发布2014年12月

Ayaka NonakaDasmer SinghMark Adams维护。



  • Dasmer Singh

VENPromotionsManager可以方便地在应用中定义、管理和控制基于位置的广告,包括以下功能:

  • 定义广告动作事件,包括触发位置和有效日期间隔
  • 即使应用尚未启动或处于后台,当进入地理区域或由蓝牙LE信标创建的区域时,也可能触发广告
  • 在后台队列上设置重复的计时器来更新位置(可选)
  • 使用基于CLLocationManager的自定义位置服务或位置服务

演示

安装

您可以通过使用CocoaPods在您的项目中安装VENPromotionsManager

pod 'VENPromotionsManager', '~> 1.0.0'

用法

首先创建一个(或更多)广告。广告可以是基于区域的(使用信标或地理围栏)或基于位置的,需要周期性地查找位置。

//Location Promotion
VPLLocationPromotion *locationPromotion = [[VPLLocationPromotion alloc] initWithCity:@"Cupertino"
                                                                       state:@"CA"
                                                                     country:@"United States"
                                                            uniqueIdentifier:userDefaultsKey action:^{
                                                                NSLog(@"Promotion Number %ld Fired",(long)(i+1));
                                                            }];

//Beacon based Region Promotion
NSUUID *estimoteUUID = [[NSUUID alloc] initWithUUIDString:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D"];
CLBeaconRegion *doorRegion = [[CLBeaconRegion alloc] initWithProximityUUID:estimoteUUID
                                                                    identifier:@"VenmoEntrancePromotion"];

VPLRegionPromotion *regionPromotion = [[VPLRegionPromotion alloc] initWithRegion:doorRegion
                                                                  repeatInterval:2
                                                                    enterAction:^{
                                                                      //Implement code to launch promotion here
                                                                   }];

然后初始化广告管理器,使用已创建的广告数组

self.promotionsManager = [[VPLPromotionsManager alloc] initWithPromotions:@[locationPromotion, regionPromotion]
                                                   shouldRequestGPSAccess:YES];
self.promotionsManager.refreshInterval = 60 * 60; //Lookup location every 60 minutes
[self.promotionsManager startMonitoringForPromotionLocations];

在此示例中,VPLPromotionsManager实例将每60分钟执行一次位置查找,并触发任何有效的位置广告,并在进入广告区域时触发任何有效的区域广告。区域广告支持后台通知,而位置广告则不支持。

贡献

我们非常希望看到您对改善VENPromotionsManager的建议!最好的贡献方式是通过提交pull请求。我们将尽快回复您的补丁。如果您发现错误或有问题,也可以提交新的GitHub问题。

请确保遵循我们的通用编码风格,并为新功能添加测试覆盖率!

  1. Fork它
  2. 创建您的功能分支(`git checkout -b my-new-feature`)
  3. 提交您的更改(`git commit -am '添加一些功能'`)
  4. 推送至分支(`git push origin my-new-feature`)
  5. 创建新Pull Request