【三井住友カード(NL)】決済方法 「クレジットカード現物」vs「iD」vs「VISAタッチ」どれが得なのか。【ApplePay / GooglePay】

2022年3月1日から GooglePay でも VISAタッチ 決済が可能になりました。

Android端末でも iPhone ApplePay と同じようにクレジットカード現物なしに決済ができるようになってます。

これまでは、GooglePay は「iD」経由のタッチ決済しかありませんでした。


しかし、これからは、クレジットカード直にVISAでタッチ決済できます。

ポイント5%です。

Visaの Google Pay™ 対応記念!最大1,000円分プレゼントキャンペーン|クレジットカードの三井住友VISAカード
👉 Visaの Google Pay™ 対応記念!最大1,000円分プレゼントキャンペーン|クレジットカードの三井住友VISAカード 
👉 Google Pay™ (グーグルペイ)の使い方徹底解説!設定方法や利用可能店舗も紹介 | 【ヒトトキ】三井住友カード 

決済方法の選択肢が多くなってますが、ポイント5%は、今や「タッチ決済」のみです。

いつもの利用でポイント最大5%還元!|クレジットカードの三井住友VISAカード
👉 いつもの利用でポイント最大5%還元!|クレジットカードの三井住友VISAカード 

ポイント 5% をゲットするには、以下2つののどちらかとなります。

「カード現物」を「タッチ」する。

「iPhone/Android 端末(ApplePay/GooglePay)」を「VISAタッチ決済」として「タッチ」する。

ポイント「5%」のつもりが「2.5%」のありがちな失敗

気をつけなければいけないパターンがあります。

以下では、ポイント2.5%となってしまいます。

「カード現物」を店員に渡したらタッチせずに「スライド(磁気ストライプ決済)」や「差し込み(ICチップ決済)」される。

ICチップ取引:
クレジットカードを決済機に挿入後、すこし時間経過後に4桁の暗証番号を押して承認されるのを待つ

磁気ストライプ取引:
店員にカードを渡すか、手元の決済機にカードをスライドさせることでカードを認識させ、すこし時間経過後にレシートやタブレット端末にサインを入力する

👉 あまりにもVisaのタッチ決済の認知度が低くて、店員とまぁまぁトラブルになる件!利用前に怒られることもあれば、使って怒られることも。 - クレジットカードの読みもの 

「iPhone/Android (ApplePay/GooglePay)」を「iD」経由で「タッチ」してしまう。

コンビニレジでは、「クレジットカード」を選んでからカードやスマホ端末を「タッチ」します。
セブンレジ あまりにもVisaのタッチ決済の認知度が低く

イオンなどのスーパーのレジでも同様です。

イオン レジ あまりにもVisaのタッチ決済の認知度が低く

注意するのは、レジにたってる「店員の操作」と「iD選択ボタン(を押さないこと)」です。

ゲットしたポイントは、私は、月ごとの支払金額から、1ポイント1円 でキャッシュバックとして相殺してもらってますがギフト券とか他にも変換方法はあるようです。

👉 キャンペーン・ポイント|クレジットカードの三井住友VISAカード 


【Retorofit】コピペで使える NetworkModule【Dagger Hilt】

もうこれはテンプレ化しておきます。

Retrofit の話が中心となります。

👉 Retrofit 

 

Converter

Retrofit-Converters

JSON 形式のレスポンスをパースして変換するのは、Gson か Moshi が人気のように思います。


var retrofit = Retrofit.Builder()
  .baseUrl("https://api.example.com")
  .addConverterFactory(GsonConverterFactory.create())
  .build()


var retrofit = Retrofit.Builder()
  .baseUrl("https://api.example.com")
  .addConverterFactory(MoshiConverterFactory.create())
  .build()

👉 retrofit/retrofit-converters at master · square/retrofit 

今回は、Kotlin Serialization を利用した「Kotlin Serialization Converter」を使います。

ExperimentalSerializationApi なのですがね。


val contentType = "application/json".toMediaType()
val retrofit = Retrofit.Builder()
    .baseUrl("https://example.com/")
    .addConverterFactory(Json.asConverterFactory(contentType))
    .build()

👉 JakeWharton/retrofit2-kotlinx-serialization-converter: A Retrofit 2 Converter.Factory for Kotlin serialization. 

 

Call Adapter

Retrofit CallAdapters

通信の非同期処理はどれに任せるか。


var retrofit = Retrofit.Builder()
  .baseUrl("https://api.example.com")
  .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
  .build()

👉 retrofit/retrofit-adapters at master · square/retrofit 

Coroutine を使った Jake製の「Kotlin Coroutine Adapter」は 今では DEPRECATED。

👉 JakeWharton/retrofit2-kotlin-coroutines-adapter: A Retrofit 2 adapter for Kotlin coroutine's Deferred type. 

Retrofit は 2.6.0+ で、内部に suspend function をサポートしてるので、特に、.addCallAdapterFactory() を使わなくてもよい。


@GET("users/{id}")
suspend fun user(@Path("id") id: Long): User

👉 retrofit/CHANGELOG.md at master · square/retrofit 

 

HttpLoggingInterceptor

OkHttpClient に HTTP関連のログを吐かせます。


--> POST /greeting http/1.1
Host: example.com
Content-Type: plain/text
Content-Length: 3

Hi?
--> END POST

<-- 200 OK (22ms)
Content-Type: plain/text
Content-Length: 6

Hello!
<-- END HTTP

👉 HttpLoggingInterceptor.Level (OkHttp Logging Interceptor 3.14.0 API) 


val logging = HttpLoggingInterceptor()
logging.setLevel(Level.BASIC)
val client = OkHttpClient.Builder()
  .addInterceptor(logging)
  .build()

👉 okhttp/okhttp-logging-interceptor at master · square/okhttp 

 

まとめ

Dagger の Module にしておきます。

テンプレート化してください、と言わんばかりに

よく似たものをあちこちで見かけますよね。

見通しも良くなります。

コピペでどうぞ。

(おわり)



@SuppressWarnings て使っていますか。

@SuppressWarnings

GitHub で調べてみると以下が多く見られます。


@SuppressWarnings("unused")


@SuppressWarnings("deprecation")


@SuppressWarnings("unchecked")


@SuppressWarnings({"unchecked", "deprecation"})

引数の文字列には他にもいろいろかいてますけども。コンパイラにもよるのだろうけど。

認識されない警告名があってもエラーにはなりません。コンパイラは、認識しないすべての警告名を無視しなければいけません。

👉 SuppressWarnings (Java Platform SE 8 ) 

以下、数個ぐらいは頭に入れておきます。

unused :
使用されていない変数やメソッドが存在した場合の警告を無視する。

deprecation :
使用すべきでないクラスやメソッドを使用したときの「unchecked」警告を無視する。

unchecked :
安全でない型のカーストなどの場合の「unchecked」警告を無視する。

serial :
直列化可能なクラスにserialVersionUIDが未定義の時の警告を無視する。

👉 eclipse - What is the list of valid @SuppressWarnings warning names in Java? - Stack Overflow 

しかし、まあ、あんまり使わないほうがいいですよね。

suppress
他動 〔好ましくないものを力ずくで〕鎮圧する、抑圧する

👉 suppressの意味・使い方・読み方|英辞郎 on the WEB 

👉 java - @SuppressWarnings vs @SuppressLint - Stack Overflow 

👉 Opt-in requirement marker annotation on override requires the same marker on base declaration 


iPhoneアプリ ランキング まとめ【2022】

どこで人気アプリ探したらいいのか分からないのでメモ。

ランキングのみ。

app.sensortower.com
👉 Top Grossing Apps | JAPAN | Top App Store Rankings for iOS 

 

Japanで最も人気のあるiPhoneアプリランキング | シミラーウェブ
👉 Japanで最も人気のあるiPhoneアプリランキング | シミラーウェブ 

 

App Store Top Charts Ranking for iPhone Apps | AppFollow
👉 All categories — App Store Top Charts Ranking for iPhone Apps in JP | AppFollow 

 

Top Apps for iPhone on the iOS App Store in Japan · Appfigures
👉 Top Apps for iPhone on the iOS App Store in Japan · Appfigures 

 

Today’s Top App {chart} | data.ai
👉 Today’s Top App {chart} | data.ai 

 

iPhoneアプリランキング
👉 iPhoneアプリランキング 

 

人気の無料iPhoneアプリランキング - Top App Ranking 400
👉 人気の無料iPhoneアプリランキング - Top App Ranking 400 

 

無料アプリランキング - iPhoneアプリの世界ランキング | APPLION
👉 無料アプリランキング - iPhoneアプリの世界ランキング | APPLION 

 

APP STORE AWARDS 2021 トップApp ランキング:App Store ストーリー
👉 APP STORE AWARDS 2021 トップApp ランキング:App Store ストーリー 

 

APP STORE AWARDS 2021 トップゲーム ランキング:App Store ストーリー
👉APP STORE AWARDS 2021 トップゲーム ランキング:App Store ストーリー 

 

APP STORE AWARDS 2021 トップApple Arcadeランキング:App Store ストーリー
👉 APP STORE AWARDS 2021 トップApple Arcadeランキング:App Store ストーリー 

 

BEST OF 2020 トップApp ランキング:App Store ストーリー
👉 BEST OF 2020 トップApp ランキング:App Store ストーリー 

 

BEST OF 2020 トップApple Arcadeランキング:App Store ストーリー
👉 BEST OF 2020 トップApple Arcadeランキング:App Store ストーリー 

 

BEST OF 2020 トップゲーム ランキング:App Store ストーリー
👉 BEST OF 2020 トップゲーム ランキング:App Store ストーリー 

情報を一画面に圧縮したような国産のサイトが人気のようですね。

👉 iOS App Store の最も使えるアプリURLはどれ? 


Google Play 課金も ロシア~ウクライナ で影響がある件

Due to payment system disruption, we will be pausing Google Play’s billing system for users in Russia in the coming days. This means users will not be able to purchase apps and games, make subscription payments or conduct any in-app purchases of digital goods using Google Play in Russia.

Hello Google Play Developer,

Due to payment system disruption, we will be pausing Google Play’s billing system for users in Russia in the coming days. This means users will not be able to purchase apps and games, make subscription payments or conduct any in-app purchases of digital goods using Google Play in Russia.

Users will still be able to access Google Play and download free apps and games.

Please refer to the Help Center for additional details and ongoing updates.

Thank you,

The Google Play team
Connect with us

Google Play 開発者の皆様、こんにちは。

決済システムの混乱により、今後数日間、ロシアのユーザー向けにGoogle Playの課金システムを一時停止します。これにより、ユーザーはロシアでGoogle Playを使用してアプリやゲームの購入、定期購入の支払い、デジタル商品のアプリ内課金を行うことができなくなります。

なお、Google Playにアクセスし、無料のアプリやゲームをダウンロードすることは可能です。

その他の詳細および最新情報については、ヘルプセンターを参照してください。

ありがとうございました。

Google Playチーム
私たちとつながる

いろいろ影響がありますので、素早い対応が必要となります。

👉 ロシアのユーザーに対するGooglePlayの課金システムの一時停止-PlayConsole