紹介したい料理店のブログ

紹介したい料理店( https://ssrt.jp )のブログ

UberのボタンSDKをつかってみた

Deeplink Advent Calendar 2015の12/7用の記事です。 UberがボタンSDKをリリースした(Uberアプリにディープリンクで遷移する)ので、つかってみたよ的な感じです。 qiita.com

去年、Uberが米国内で、アフィリエイトプログラムを開始しました。
他サービス内からUberのタクシーを呼び出せるAPIを用意して、配車される度に開発者には$5入る仕組みです。
ユーザーは割引料金でタクシーを呼ぶことができるので、他サービスも導入をしやすそうです。
位置情報を扱うサービスにはたまらないですが、現時点ではこのアフィリエイトプログラムは日本では使えないようです。

developer.uber.com

markezine.jp

さらに最近、乗車リクエストボタンを簡単にアプリ内に設置できるSDKをリリースしました。

devblog.uber.com

news.mynavi.jp

jp.techcrunch.com

今回は、この便利なSDKを使ってボタンを実際に表示させてみることにします。

Uberデベロッパー登録

まずは https://developer.uber.com/dashboard からUberのデベロッパー登録をします。
※ 手順の画像は、スマホWebになってます。ログインの際のID, パスワードを何回も間違えたら、ログインできなくなってしまいました。セキュリティしっかりしてますね♪

  1. ログイン後、アプリ情報を登録します

f:id:ssrt_jp:20151207014905j:plain:w300

  1. すぐにAppIDが発行されます(図中のピンク色で囲まれた部分)

f:id:ssrt_jp:20151207014915j:plain:w300

これでデベロッパー登録は完了です。どうです、簡単でしょう。

アプリの設定

次にSDKの設定を行っていきます。
swiftアプリに実装してみました。 なお、SDKuber/rides-ios-sdk · GitHub にあがってます。
サンプル付きでかなりわかりやすいです。

SDKはCocoaPodでもCarthageでも取得できます。
自分はCocoaPodでインストールしました。

pod 'UberRides'

iOS9の場合、Uberをディープリンクで呼び出させるようにinfo.plistに下記の設定をしておきます

<key>LSApplicationQueriesSchemes</key>
<array>                                           
<string>uber</string>
</array>

さて、実際に記述するコードですが、まずはAppDelegate.swiftに下記の記述をします(xxxxは先ほどdeveloper登録した際に取得したAppID)。

import UberRides

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    RidesClient.sharedInstance.configureClientID("xxxx")
    return true
}

そして、ボタンを掲載するViewController内に下記のコードを記述します。

import UberRides

let button = RequestButton() // ボタンの色が黒
// let button = RequestButton(colorStyle: .White) // ボタンの色を白にする場合はRequestButtonの引数に色を指定する
 view.addSubview(button)

これだけでボタンが表示されます。
とっても簡単です。

ちなみにアプリに渡すパラメータは下記のように設定できます。

button.setProductID("restaurant0123") // 適当なID
button.setDropoffLocation(latitude: "35.407", longitude: "139.4157", nickname: "吉野家 原宿竹下口店") // タクシーの降りる場所

ちなみに
button.setPickupLocation(latitude: "35.409", longitude: "139.4123", nickname: "代々木公園")
で乗車場所を設定できるっぽいですが、設定された状態でアプリを開いても「現在地」が乗車場所になってました。なんでやろ

実際の挙動

ボタンは下記のようなデザインです。
f:id:ssrt_jp:20151207031945j:plain:w300

クリックすると、Uberアプリに遷移し、下記のように行き先が定まった状態になってます。ちなみにアプリが端末内になければストアページに遷移します。
f:id:ssrt_jp:20151207030906j:plain:w300

感想

簡単でびっくりしたぜ

【swift】classを呼び出して、interface builderを開く(nibNameを使わずに)

ニーズはないと思います。 忘備録です。

行うことは下記。

  1. classを指定して呼び出す

  2. 呼び出し先のclass名とxibファイル名を同じにする

前提

target名:Test

swift class名:SwiftViewController

1.classを指定して呼び出す

swiftのclassはObjective-Cと違い、名前空間を指定しないといけないです。

swift名前空間はモジュール名(target名)なので、今回は、Test.SwiftViewControllerがclass名となります。 また、class名は下記のような形式での呼び出しも可能です。

_TtC<プロジェクト名の文字数><プロジェクト名><クラス名の文字数><クラス名>

今回の場合は、_TtC4Test19SwiftViewControllerとなります。

        println(NSClassFromString("SwiftViewController")) //nil
        println(NSClassFromString("Test.SwiftViewController")) //Test.SwiftViewController
        println(NSClassFromString("_TtC4Test19SwiftViewController")) //Test.SwiftViewController

呼び出し

        var testSwiftAnyObjectType: AnyObject.Type = NSClassFromString("Test.SwiftViewController")
        var testSwiftNSObjectType: NSObject.Type = testSwiftAnyObjectType as! NSObject.Type
        var testSwift: AnyObject = testSwiftNSObjectType()
        self.presentViewController(testSwift as! UIViewController, animated: true, completion: nil)

2. 呼び出し先のclass名とxibファイル名を同じにする

呼び出されたclassと同じ名前のxibファイルが存在している場合、自動でそのファイルを読み込もうとします。 これはswiftも同様です。 ただし、swiftの場合、前述のとおり、Test.SwiftViewControllerがclass名となってますので、 xibファイルをTest.SwiftViewController.xibとすることによって、自動でファイルが読み込まれます。

ちなみに、 呼び出されるfile側で、

@objc(SwiftViewController)
class SwiftViewController {
...
}

とすることによって、xibファイル名をSwiftViewController.xibとすることができますが、このクラスは名前空間に属さなくなります。

また、target名内のアルファベット文字以外は、_(アンダーバー)に書き換えないといけないと気をつけましょう。

参考にさせていただいた記事

http://anton0825.hatenablog.com/entry/20140422/1406165310

http://tsuchikazu.net/swift_namespace/

http://blogios.stack3.net/archives/190

http://bit.ly/1HJOrVr

http://techlife.cookpad.com/entry/2014/12/02/105513

「紹介したい料理店」のiPhoneアプリが「ニューリリース」に選ばれました!!

こんばんは!寒いですね。

実はまだ告知はあまりしていませんでしたが、

「紹介したい料理店」のiPhoneアプリをこっそりとリリースしてました。 

 もう少したってから告知をしようと思っていたのですが、

なんと、、

 

「紹介したい料理店」のアプリが

ニューリリース

に選ばれましたー!!

 

なので嬉しくて、思わずブログに書いちゃいました(^_^;)

今年は、アプリリリース以外にもいろんな事を考えておりますので、

ぜひ楽しみにしていてください。

今後とも「紹介したい料理店」をどうぞよろしくお願いいたします!

f:id:ssrt_jp:20150126231031j:plain

東京都内の料理店のみ紹介されるように設定ができるようになりました!!

今日は雨ですねぇ。

急に寒くなってまいりました。

 

さて、α版ではありますが、「東京都内の料理店のみ紹介」されるように設定できるようにいたしました。

店舗数の関係で東京限定となっております。

他の地域の方々、申し訳ございませんが少々お待ちください。

 

紹介したい料理店、これからもどんどん改善していきますので、ご意見多数お待ちしております!!

 

f:id:ssrt_jp:20141015142018p:plain

食欲の秋!紹介したい料理店がメディアにとりあげられました☆

秋ですねぇ。

食欲の秋ということで、おいしいもの食べたいものです。

そんなときはぜひ、紹介したい料理店をご活用くださいね!

 

メディアにとりあげていただきましたので、ご紹介させていただきます。

コンセプトやご意見など丁寧に記事を書いていただいて、本当にうれしいです。

ひきつづきがんばっていきますので、どうぞよろしくお願いいたします。

 

internet watch


【やじうまWatch】1人につき1つのお店しか紹介できない、究極のグルメサイトが登場 -INTERNET Watch

 

 

白ペンギン 様


1人1店しかオススメできない実名グルメサイト「紹介したい料理店」

 

紹介したい料理店が、NAVERまとめのグルメサイト・アプリまとめに掲載されました!!

紹介したい料理店が、NAVERまとめのグルメサイト・アプリまとめに掲載されましたー うえ~い(´∀`σ)σ

紹介したい料理店以外にも素敵なグルメサイト・アプリがたくさん掲載されていますので、ぜひご覧くださーい♪

素敵な料理店を見つけよう!!グルメサイト・アプリまとめ - NAVER まとめ

f:id:ssrt_jp:20140803142041p:plain

 

 

紹介したい料理店

ご要望お待ちしてます

おはようございます!

現在、絶賛iPhoneアプリ開発中です。更に使いやすくなるようにがんばってます。

アプリ開発以外にも、いろいろと紹介したい料理店の改善・修正は毎日行っております。

そこで、皆様からのご要望があると、非常にありがたいです。皆様の声が一番参考になります!

もしご要望がございましたら、
admin@ssrt.jp
宛におくっていただけると幸いです。

ぜひとも、よろしくお願いします!