mirror of
https://github.com/discourse/discourse.git
synced 2024-11-27 03:10:46 -06:00
FEATURE: Native app banner improvements
This commit adds some improvements to native app banners for iOS and Android - iOS and Android now have separate settings for native app banners - app banners will now only show for users on TL1 and up - app ids are now in a hidden site setting to allow sites to switch to their own app, if desired - iOS only: the site URL is passed to the app arguments
This commit is contained in:
parent
14f9d40e48
commit
7cd621778d
@ -51,13 +51,13 @@ class MetadataController < ApplicationController
|
||||
|
||||
manifest[:short_name] = SiteSetting.short_title if SiteSetting.short_title.present?
|
||||
|
||||
if SiteSetting.native_app_install_banner
|
||||
if current_user && current_user.trust_level >= 1 && SiteSetting.native_app_install_banner_android
|
||||
manifest = manifest.merge(
|
||||
prefer_related_applications: true,
|
||||
related_applications: [
|
||||
{
|
||||
platform: "play",
|
||||
id: "com.discourse"
|
||||
id: SiteSetting.android_app_id
|
||||
}
|
||||
]
|
||||
)
|
||||
|
@ -325,6 +325,10 @@ module ApplicationHelper
|
||||
request.env[ApplicationController::NO_CUSTOM]
|
||||
end
|
||||
|
||||
def include_ios_native_app_banner?
|
||||
current_user && current_user.trust_level >= 1 && SiteSetting.native_app_install_banner_ios
|
||||
end
|
||||
|
||||
def allow_plugins?
|
||||
!request.env[ApplicationController::NO_PLUGINS]
|
||||
end
|
||||
|
@ -46,8 +46,8 @@
|
||||
<%= render_google_universal_analytics_code %>
|
||||
<link rel="manifest" href="<%= Discourse.base_uri %>/manifest.webmanifest" crossorigin="use-credentials">
|
||||
|
||||
<%- if SiteSetting.native_app_install_banner? %>
|
||||
<meta name="apple-itunes-app" content="app-id=1173672076">
|
||||
<%- if include_ios_native_app_banner? %>
|
||||
<meta name="apple-itunes-app" content="app-id=<%= SiteSetting.ios_app_id %>, app-argument=discourse://new?siteUrl=<%= Discourse.base_url %>">
|
||||
<%- end %>
|
||||
|
||||
<%= render partial: "common/discourse_stylesheet" %>
|
||||
|
@ -1892,7 +1892,9 @@ en:
|
||||
|
||||
topic_page_title_includes_category: "Topic page title includes the category name."
|
||||
|
||||
native_app_install_banner: "Asks recurring visitors to install Discourse native app."
|
||||
native_app_install_banner_ios: "Displays DiscourseHub app banner on iOS devices to regular users (trust level 1 and up)."
|
||||
|
||||
native_app_install_banner_android: "Displays DiscourseHub app banner on Android devices to regular users (trust level 1 and up)."
|
||||
|
||||
share_anonymized_statistics: "Share anonymized usage statistics."
|
||||
|
||||
|
@ -1826,7 +1826,17 @@ uncategorized:
|
||||
default: true
|
||||
client: true
|
||||
|
||||
native_app_install_banner: false
|
||||
native_app_install_banner_ios: false
|
||||
|
||||
native_app_install_banner_android: false
|
||||
|
||||
ios_app_id:
|
||||
default: "1173672076"
|
||||
hidden: true
|
||||
|
||||
android_app_id:
|
||||
default: "com.discourse"
|
||||
hidden: true
|
||||
|
||||
pwa_display_browser_regex:
|
||||
default: "iPad|iPhone"
|
||||
@ -1913,7 +1923,7 @@ user_preferences:
|
||||
- normal
|
||||
- larger
|
||||
- largest
|
||||
|
||||
|
||||
default_title_count_mode:
|
||||
type: enum
|
||||
default: notifications
|
||||
|
@ -0,0 +1,20 @@
|
||||
class MigrateNativeAppBannerSiteSetting < ActiveRecord::Migration[5.2]
|
||||
def up
|
||||
execute "INSERT INTO site_settings(name, data_type, value, created_at, updated_at)
|
||||
SELECT 'native_app_install_banner_android', 5, value, now(), now()
|
||||
FROM site_settings
|
||||
WHERE name = 'native_app_install_banner'"
|
||||
|
||||
execute "UPDATE site_settings
|
||||
SET name = 'native_app_install_banner_ios'
|
||||
WHERE name = 'native_app_install_banner'"
|
||||
end
|
||||
|
||||
def down
|
||||
execute "UPDATE site_settings
|
||||
SET name = 'native_app_install_banner'
|
||||
WHERE name = 'native_app_install_banner_ios'"
|
||||
|
||||
execute "DELETE FROM site_settings WHERE name = 'native_app_install_banner_android'"
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user