Upload
ochi-shuji
View
4.971
Download
2
Embed Size (px)
DESCRIPTION
第2回関西ソーシャルゲーム勉強会での発表です。 Introducing iOS geofencing API. (In Japanese) iOSにおけるジオフェンス機能の紹介。
Citation preview
iPhone の位置情報でリアル連動を!
KLab 株式会社
越智 修司 (@ponpoko1968)
自己紹介
越智修司 (@ponpoko1968)
• KLab( くらぶ ) 株式会社 大阪事業所
• アプリ・サービスのプロトタイピング( iOS )
• 有名アーティスト・アイドルのファンクラブアプリ開発
• 最近はデータ解析
• python,R など
作ったもの
「クリップリーダー」 電子書籍リーダー
• 自炊PDFに特化• evernote連携• 段組書籍
「勤怠くん」( 無料 )勤怠メールを素早く送信
iPhone 版(無料)
iPad 版( 85 円)
クリップリーダー
• PDF リーダー
洋ゲー大好き♪
• ゲーマータグ
• ponpoko1968
ジオフェンス機能
ジオフェンス機能
• あらかじめ指定した位置座標の範囲に入る/出るとコードが実行される
緯度、経度で指定
緯度、経度で指定
半径半径
領域の登録 // CLLocationManagerインスタンスの初期化 // アプリ内に 1 つ作る self.locationManager = [[CLLocationManager alloc] init]; self.locationManager.delegate = self; // ジオフェンス作動領域の設定 CLLocationCoordinate2D coordinates = CLLocationCoordinate2DMake(latitude, longitude); CLRegion *grRegion = [[CLRegion alloc] initCircularRegionWithCenter:coordinates
radius:radius identifier:@"Home"];
// 感知領域を設定 [self.locationManager startMonitoringForRegion:grRegion desiredAccuracy:kCLLocationAccuracyBest];
// CLLocationManagerインスタンスの初期化 // アプリ内に 1 つ作る self.locationManager = [[CLLocationManager alloc] init]; self.locationManager.delegate = self; // ジオフェンス作動領域の設定 CLLocationCoordinate2D coordinates = CLLocationCoordinate2DMake(latitude, longitude); CLRegion *grRegion = [[CLRegion alloc] initCircularRegionWithCenter:coordinates
radius:radius identifier:@"Home"];
// 感知領域を設定 [self.locationManager startMonitoringForRegion:grRegion desiredAccuracy:kCLLocationAccuracyBest];
ジオフェンス作動時コールバック
-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{
manager.location // 現在位置region.center // 感知範囲の中心座標region.radius // 感知範囲の半径
}
-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{
manager.location // 現在位置region.center // 感知範囲の中心座標region.radius // 感知範囲の半径
}
-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region{
...
-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region{
...
コールバック内でできること
• http 通信
• iOS では、 GUI を出さずにメール送信できないので http を介するなどの一工夫が必要
• ローカルプッシュ通知
• ファイルや Core Data 等に永続化
応用例
• ライフログ
• リマインダ
• ローカルプッシュ通知ノーティフィケーションとの組み合わせ
• ジオフェンスが作動したらローカルプッシュ通知で通知してユーザにアプリ起動を促す。
メリット
iOS では難しい、ユーザ操作なし
のアプリ機能の起動が実現できる
メリット
意表を突いたユーザの呼び戻し
デメリット
• プライバシー保護は慎重に!!
• 地下鉄内などは位置情報が狂います
• 一定、誤差はあるよ
ソーシャルゲームへの応用たとえば、、、、
• 来店促進などのリアル連動
• インセンティブ付与
• バーコードや FeliCa リーダなど、ロケーション側の準備が不要
• ユーザがそこに行くだけ!!
実は、絶賛開発中
フィールドテストの結果わかったこと
• 電池消費は問題なさそう
• 誤差
• ジオフェンス作動範囲設定の下限は、半径 100m 位
• ±30 〜 50 m程度
• これ以上範囲を狭めても誤差が目立ってしまう
宣伝
iPhone 技術者絶賛募集中です
• iOS や Objective-C の話で盛り上がれる人、一緒にしませんか?
• 勤務地:大阪 です!
ご清聴ありがとうございました