STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

iOS/Androidアプリ

新着順 人気順

DroidKaigi 2026 参加レポート

DroidKaigi 2026 に参加しました こんにちは!DroidKaigi 2026の余韻がまだ抜けず、聞き逃したセッションのアーカイブを漁っている @tomorrowkey です。 2026年9月1日(火)〜9月3日(木)に開催されたDroidKaigi 2026に、STORESはスポンサーとして協賛し、現地…

enableEdgeToEdge のデフォルト引数を理解しよう

こんにちは、naberyo(@error96num)です。今年4月に STORES へ入社し、 STORES ブランドアプリ のAndroidエンジニアをしています。 Androidエンジニアのみなさま、アプリのターゲットSDKは35に上げましたか? もし上げたなら、エッジツーエッジ対応もお済みで…

STORESはDroidKaigi 2026に協賛します!

STORESはDroidKaigi 2026に協賛します! こんにちは!STORESでAndroidエンジニアをしている@tomorrowkeyです。 今年もこの季節がやってきました。STORESは2026年9月1日(火)〜9月3日(木)に開催されるDroidKaigi 2026 にスポンサーとして協賛します! 2026.dro…

App Links / Universal LinksにWeb対応してモバイル端末でネイティブアプリを開く

こんにちは。STORES でWebエンジニアをしていますosdです。 今回はHTTP URLを介してユーザーにネイティブアプリを起動させる仕組みについて実装をしたので、仕様を交えつつWebサーバーとして配布する項目を中心に解説します。 App Links / Universal Links …

iOSアプリを慎重に安全にリリースする

STORES 決済 iOS アプリを石橋を叩いてかぶって慎重にリリースしたお話

DroidKaigi 2025 参加レポート

こんにちは!DroidKaigi 2025 の興奮冷めやらず、いまもセッション動画を見返している @error96num です。 まずは、DroidKaigi おつかれさまでした! 今年は STORES から20名のメンバーが現地参加し、ブース出展・登壇・スタッフ活動など、盛りだくさんの3日…

今さらながら Liquid Glass 対応を話します

気づけばもう iOS 27 が出る今になって、ようやく iOS 26 についての記事を公開します。STORES ブランドアプリの対応をする時、iOS 26 の不具合がどれもこれもかなり厄介で、本当に OS 側の問題なのか、そもそも自分がちゃんと直せているのかすら確信が持て…

Compose Multiplatform における iOS ネイティブ実装の取り組み

こんにちは。STORES でiOSエンジニアをしている榎本 (@enomot_ )です。 STORES では、 KMP/CMP を用いて Android, iOS のマルチプラットフォームアプリ開発を行なっています。 *1 本記事では、Kotlin Multiplatform(KMP)と Compose Multiplatform (CMP) を…

STORES レジで遭遇した 12 桁バーコード読み取りの謎

こんにちは、 yu です。前回はインターン生としてブログを書きましたが、今回は内定者アルバイトとしてブログを書いていきます。 STORES レジには、会員バーコードやアイテムのバーコードを読み込むスキャン機能があります。 しかし、そのスキャン機能では 1…

Google Play Developer Accountを統合しました

こんにちは @tomorrowkey です。 STORES はいくつかの会社が集まってできた会社という経緯から、それぞれの組織のGoogle Play Developer Accountを持っており、それらをそれぞれの部署によって管理してきました。 一方で先日Google PlayからApp Storeと同様…

Jetpack Compose の Padding vs Spacer

Padding を使うのか Spacerを使うのか こんにちは!STORES 決済 Androidエンジニアのみっちゃんです! JetpackComposeでUIを作るときに、Composable同士の間に余白を置きたい時はpaddingやSpacerを使って実現できます。 最近、STORES 決済 Android アプリで…

高品質アプリを支える連続タップ防止の工夫

こんにちは、tomorrowkeyです。 今回はAndroidアプリ開発においてボタンのダブルタップをどう防ぐかについて話していきます。 モバイルアプリのQAのよくある項目として、ボタンのダブルタップがあります。開発に集中していると、この不具合になかなか気づけ…

SceneDelegate に移行するには?

STORES ブランドアプリの iOS 版を開発している Megabits です。 UISceneDelegate は iOS 13 で追加され、 6 年が経ちました。最初は iPad でのマルチタスクを管理するためのものでした。同じアプリでも、複数ウィンドウを持つ可能性があるため、シーンで分…

Liquid Glass 対応が決済アプリへ与える影響について

はじめに この記事は STORES Advent Calendar 2025 の 4 日目の記事です。 STORES 決済の iOS アプリ開発を担当している栗山(@kotetu)です。 今回の記事は、決済アプリチームで現在進行中の Liquid Glass 対応 がテーマです。 本記事では、Liquid Glass 対応…

fastlane match リポジトリを開発者証明書ダッシュボードに変える

fastlane match リポジトリを 開発者証明書ダッシュボードに 変える STORES ブランドアプリチームで iOS エンジニアをしている榎本 ( @enomot_ ) です。 以前、「fastlane match の内部実装を活用して複数の iOS 開発者証明書の期限を一括チェックする方法」…

新しいGoogle Play Developer APIを使えるようにする方法と誰もハマらない罠

この記事はSTORES Advent Calendar 2023の14日目の記事です。 こんにちは、@tomorrowkey です。 STORES ブランドアプリでは、オーナーさんのアプリを作成しリリースの管理まで担っています。 全アプリを手作業でやっていてはコストがかかりすぎるので、Andro…

Dokka移行でちょっとだけつまずいた話

こんにちはこんばんは。STORES のn-sekiです。 STORSE 決済 というサービスのAndroidアプリ/SDKを開発しています。 本記事ではアプリではなく、SDKでの開発トピックを取り上げようと思います! このSDKは決済 SDKと呼んでいて、モノとしてはAndroidライブラ…

たまにはTLVのLについて語る

はじめに はじめまして、こんにちは。STORES 決済 でAndroidエンジニアをしている n-seki です。 というわけでAndroidの技術記事……を書こうと思ったのですが、決済に携わっているエンジニアとして、たまにはTLVについて書いてみようと思います。 TLVとはなに…

iOSDC Japan 2025 参加レポート

こんにちは、STORES でモバイルアプリを開発している nekowen です。 まずは iOSDC Japan 2025、お疲れ様でした!今年は STORES から 総勢20名のメンバーが参加し、登壇・ブース出展、スタッフ活動など様々な形で取り組みを行いました。 この記事では、取り…

DroidKaigi 2025に登壇しました!振り返り!!

こんにちは、STORES 決済のAndroidアプリを開発しているchukaです。 12月ももう残りわずかですね…! 今回は、今年あった個人的最大の出来事、DroidKaigi 2025登壇について振り返っていきたいと思います! はじめに 私はDroidKaigi 2025で「はじめてのMateria…

STORES は iOSDC Japan 2026 に協賛します!

みなさんこんにちは STORES の @huin です。 8月にはいりいよいよ #新型iPhoneの足音 が近づいてきました(ように感じています)。 今年はどのモデルを買うか、みなさますでにお決まりでしょうか? はい、違いますね。 iOSDC Japan 2026 の季節がやってまい…

Android版 ブランドアプリでアプリデータのバックアップ・リストアに対応しました

こんにちは @tomorrowkey です。 これまでブランドアプリではバックアップ機能が無効になっていましたが、ユーザーの利便性向上のために有効にしました。 データバックアップ機能はファイルを逐一指定もしくは除外する必要があり、面倒なので敬遠されがちな…

STORES ブランドアプリ でE2Eテストはじめました

こんにちは、naberyo (@error96num) です。今年の4月に STORES へ入社し、 STORES ブランドアプリ のAndroidエンジニアをしています。 本記事では、STORES ブランドアプリ にE2Eテストを導入した話について書きます。 なお、 STORES Advent Calendar 2024 の…

Kickstart iOS E2E Testing with POM

この記事はSTORES Advent Calendar 2024の12日目の記事です。 こんにちは、@marcy731 です。 STORES ブランドアプリ のモバイルチームのマネージャー兼iOSエンジニアをしています。 STORES ブランドアプリ とは、オーナーさまごとにオリジナルなブランドアプ…

STORES レジ のビルド時間を改善したかった話

こんにちは! STORES レジ の開発をしている iOS / Android エンジニアの @satoryo056 です。 今回は STORES レジ のビルド時間を短縮するために実験したことを紹介します。 STORES レジ について STORES レジ (以下、レジアプリ)は iPadOS 専用のモバイル…

iOS アプリからローカルサーバーへ接続する道のり

STORES ブランドアプリの iOS アプリ側を開発している Megabits です。 STORES ブランドアプリはアプリとサーバーの連動で成り立っています。なので、アプリを開発するとき、サーバーへ接続してデバッグすることがほどんどです。逆に、バックエンドを開発す…

決済アプリの SwiftUI 導入に伴う取り組み 〜 アーキテクチャ変更について 〜

はじめに @kotetu こと栗山です。今年の 4 月に STORES に入社しました。今回が、入社して初めての担当記事となります。 今回は、筆者が開発を担当している STORES 決済 の iOS アプリ (以後、 "決済アプリ" と記載) の開発チームで現在進行形で実施している…

iOS 26 で SwiftUI の ナビゲーションが壊れた - 非推奨 API が抱えていたリスク -

はじめに こんにちは、@marcy731 です。 STORES レジ のモバイルチームのマネージャー兼iOSエンジニアをしています。 この記事は STORES Advent Calendar 2025 の 19 日目の記事です。 stores.fun STORES レジ は、2019/9/11 にファーストコミットされ、 202…

GitHub Copilotを使ってちょっと楽にUnitTestを書けるようになった

わたしたちがこのアーキテクチャにおいてどのようなテストを書いているのか、そして昨今話題のGitHub Copilotがこのテストを書くのをちょっと…いやかなり楽にしてくれたのでその経験をご紹介します。

モバイルアプリのリリースから振り返る STORES 決済 の 2023年

師走!! こちらは STORES Advent Calendar 2023 の 28日目の記事です。 product.st.inc 年末ですね! さて、去年も年末に モバイルアプリのリリースから1年を振り返ったので 今年も振り返ります。 ということで、こんにちは! STORES 決済 モバイルチームの…