質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

488閲覧

特定のストアページを開きたい

w00r0ntea

総合スコア18

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/06/30 02:29

編集2017/06/30 02:50

現在、iOSとAndroidでアプリ開発をしているのですが、アップデートを通知したい場合
iOSでは"itms-apps://itunes.apple.com/app/"の
appの後ろにidをつけてopenURLで呼んでいるのですが、storeは開くのですが、特定のアプリのページに遷移しません。

androidでは既存のアプリのgoogleplaystoreに遷移する方法がわからずに、
"https://play.google.com/store/apps/details?id=com.google.android.apps.maps"
といった形でアップデートさせたいアプリを呼んでいます。しかし、これだとストアアプリは起動しません。

特定のアプリのストアページに遷移させたい場合に、どういった方法があるでしょうか?
知見をお聞かせ願いたいと思います。

iOS

override func viewDidAppear(_ animated: Bool) {
let url = URL(string:"itms-apps://itunes.apple.com/app/×××××××××")
let alertController = UIAlertController(title: "", message: ""App Store"を開きますか?", preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "キャンセル", style: .cancel) {
action in
}
let okAction = UIAlertAction(title: "開く", style: .default) {
action in if #available(iOS 10.0, *) {
UIApplication.shared.open(url!, options: [:], completionHandler:nil)
}
else {
UIApplication.shared.openURL(url!)
}
}
alertController.addAction(cancelAction)
alertController.addAction(okAction)
present(alertController, animated: true, completion: nil)
}

Android

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
varWebView = (WebView) findViewById(R.id.webView);
varWebView.setWebViewClient(new WebViewClient());
new AlertDialog.Builder(MainActivity.this)
.setMessage("このページで"storeを開きますか?"")
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
varWebView.loadUrl("https://play.google.com/store/apps/details?id=com.google.android.apps.maps");
}
})
.setNegativeButton("Cancel", null)
.show();

すいません、回答に不備がありました。
iOSの×部分はAppidが入ってます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/06/30 02:34 編集

openURLについて、実際に試したコードを書いて下さい。androidのストアアプリについては、ググったら情報が出てくるようですが、何か試したことはないのでしょうか?
guest

回答2

0

androidでは既存のアプリのgoogleplaystoreに遷移する方法がわからずに、

"https://play.google.com/store/apps/details?id=com.google.android.apps.maps"
といった形でアップデートさせたいアプリを呼んでいます。しかし、これだとストアアプリは起動しません。

実機だと
https://play.google.com/store/apps/details?id=XXXX
でもマーケットアプリが起動し、目的のアプリページに飛びました。

確実なのは下記でしょうか
market://details?id=XXXX

投稿2017/06/30 02:49

rkrd

総合スコア35

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

w00r0ntea

2017/06/30 03:56

ご回答ありがとうございます。指南していただいた方法を試したのですが、unknown_url-schemeと表示されてしまい、ページが見つからないとなってしまっています。どういうわけかブラウザを呼び出そうとしているようです。
fuzzball

2017/06/30 04:28 編集

実機で試していますか?(emulatorにはストアアプリがインストールされていません)
rkrd

2017/06/30 04:28

一つ確認ですが、他のアプリのマーケットサイトには飛びますか?
w00r0ntea

2017/06/30 05:16

"market://details?id=com.twitter.android"という形で実機にインストール済みのアプリのストアページを呼ぶようにしています。他のマーケットサイト呼んだ場合も、同様のエラーが表示されています。
guest

0

ベストアンサー

iOS

idの指定方法が間違っているのではないでしょうか?

(例)
itms-apps://itunes.apple.com/app/id1094591345

Android

これで開けました。

java

1Intent intent = new Intent(Intent.ACTION_VIEW); 2intent.setData(Uri.parse("market://details?id=com.nianticlabs.pokemongo")); 3startActivity(intent);

投稿2017/06/30 03:06

編集2017/06/30 06:05
fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

w00r0ntea

2017/06/30 03:40

idの後ろに=をつけてしまっていました。大変助かりました。ありがとうございました。
fuzzball

2017/06/30 06:05

androidの回答も追加しました。
w00r0ntea

2017/06/30 06:13

開きました!本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問