简单的答案是目前没有直接将您的PWA添加到Google Play商店、苹果iTunes或微软应用商店的方法。但是,您可以直接将您的PWA添加到亚马逊应用商店。对于其他商店,您需要先为其创建一个包装器,然后将包装器包部署到商店中。由于您特别问及Google Play商店,您基本上需要两个文件(见下文),以及一些支持文件,当您在Android Studio(或类似环境)中创建新的Android项目时,这些文件将自动为您创建。您需要一个启动您的PWA起始URL的主要活动,例如:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setDatabaseEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
view.loadUrl("about:blank");
Toast.makeText(MainActivity.this,
"Failed loading initial resources. Online access is needed when starting the app up for the first time. Close and try again with network connectivity", Toast.LENGTH_LONG).show();
super.onReceivedError(view, request, error);
}
});
webView.loadUrl(APPLICATION_URL);
}
}
您不需要一个 XML 布局文件(您可以在代码中创建 WebView),但是如果您喜欢在 xml 中配置选项,那么它会类似于这样:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.mypackage.myapp.MainActivity"/>
最后,您需要AndroidManifest.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mypackage.myapp">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/my_logo"
android:label="@string/app_name"
android:roundIcon="@mipmap/my_logo"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
然后,您需要Android构建工具来创建您的包。如果您已经下载了Android Studio,则准备就绪。好处是,一旦发布了您的包装应用程序,您不需要进行太多更改,只需专注于更新您的PWA。
对于Microsoft应用商店,该过程类似。您不一定需要Visual Studio。您可以使用PWABuilder的包作为基础,删除您不需要的任何内容,并使用(Windows)命令行工具创建“应用程序包上传文件”。
对于iTunes,您需要另一个包装器,据我所知,创建包装器的唯一方法是使用(苹果的)Xcode IDE。