[Solved] How can I change APP promo link?

There’s an option Download the app & Continue to the app. How can I change the url link linked to them?

If I uncomment in interface_config.js app scheme or app url, the page goes blank and doesn’t open any page.

How can I take these links to open with my app url for both iOS and Android?

Have you checked for js console errors?

@damencho Uncaught ReferenceError: interfaceConfig is not defined
at Object. (languageDetector.web.js:23)
at n (bootstrap:19)
at Object. (BaseApp.js:3)
at Object. (BaseApp.js:242)
at n (bootstrap:19)
at Object. (UIUtil.js:320)
at n (bootstrap:19)
at Object. (actions.js:19)
at n (bootstrap:19)
at Object. (functions.js:3)
at Object. (functions.js:113)
at n (bootstrap:19)
at Object. (AnalyticsEvents.js:732)
at n (bootstrap:19)
at Object. (index.js:1)
at Object. (actions.js:718)
at n (bootstrap:19)
at Object. (index.js:67)
at n (bootstrap:19)
at Object. (actions.js:5)
at Object. (actions.js:271)
at n (bootstrap:19)
at Object. (index.js:8)
at n (bootstrap:19)
at Object. (actions.js:20)
at n (bootstrap:19)
at Object. (actionTypes.js:95)
at n (bootstrap:19)
at Object. (actions.js:17)
at n (bootstrap:19)
at Object. (AuthHandler.js:1)
at Object. (AuthHandler.js:229)
at n (bootstrap:19)
at Object. (connection.js:1)
at Object. (connection.js:189)
at n (bootstrap:19)
at Object. (conference.js:1)
at Object. (conference.js:2829)
at n (bootstrap:19)
at Module. (DropdownItemGroup.js:36)
at n (bootstrap:19)
at bootstrap:83
at bootstrap:83

​THIS IS WHAT I DID:-

   /**
     * Specify custom URL for downloading android mobile app.
     */
    MOBILE_DOWNLOAD_LINK_ANDROID: 'https://play.google.com/store/apps/details?id=org.mycompany.meet',

    /**
     * Specify URL for downloading ios mobile app.
     */
    // MOBILE_DOWNLOAD_LINK_IOS: 'https://itunes.apple.com/us/app/jitsi-meet/id1165103905',

    /**
     * Specify mobile app scheme for opening the app from the mobile browser.
     */
    APP_SCHEME: 'org.mycompany.meet',

    /**
     * Specify the Android app package name.
     */
    ANDROID_APP_PACKAGE: 'org.mycompany.meet',

There should be another error prior the one you had pasted.

@damencho (TIME) index.html loaded: 4510.125000029802
(index):802 Uncaught SyntaxError: Unexpected identifier
Logger.js:125 [modules/browser/BrowserCapabilities.js] : This appears to be chrome, ver: 75.0
LocalStatsCollector.js:22 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
languageDetector.web.js:23 Uncaught ReferenceError: interfaceConfig is not defined
at Object. (languageDetector.web.js:23)
at n (bootstrap:19)
at Object. (BaseApp.js:3)
at Object. (BaseApp.js:242)
at n (bootstrap:19)
at Object. (UIUtil.js:320)
at n (bootstrap:19)
at Object. (actions.js:19)
at n (bootstrap:19)
at Object. (functions.js:3)
at Object. (functions.js:113)
at n (bootstrap:19)
at Object. (AnalyticsEvents.js:732)
at n (bootstrap:19)
at Object. (index.js:1)
at Object. (actions.js:718)
at n (bootstrap:19)
at Object. (index.js:67)
at n (bootstrap:19)
at Object. (actions.js:5)
at Object. (actions.js:271)
at n (bootstrap:19)
at Object. (index.js:8)
at n (bootstrap:19)
at Object. (actions.js:20)
at n (bootstrap:19)
at Object. (actionTypes.js:95)
at n (bootstrap:19)
at Object. (actions.js:17)
at n (bootstrap:19)
at Object. (AuthHandler.js:1)
at Object. (AuthHandler.js:229)
at n (bootstrap:19)
at Object. (connection.js:1)
at Object. (connection.js:189)
at n (bootstrap:19)
at Object. (conference.js:1)
at Object. (conference.js:2829)
at n (bootstrap:19)
at Module. (DropdownItemGroup.js:36)
at n (bootstrap:19)
at bootstrap:83
at bootstrap:83


Wrong syntax in interface config, and later it is undefined. Just fix the syntax error.

/* eslint-disable no-unused-vars, no-var, max-len */

var interfaceConfig = {
// TO FIX: this needs to be handled from SASS variables. There are some
// methods allowing to use variables both in css and js.
DEFAULT_BACKGROUND: ‘#474747’,

/**
 * Whether or not the blurred video background for large video should be
 * displayed on browsers that can support it.
 */
DISABLE_VIDEO_BACKGROUND: false,

INITIAL_TOOLBAR_TIMEOUT: 20000,
TOOLBAR_TIMEOUT: 4000,
TOOLBAR_ALWAYS_VISIBLE: false,
DEFAULT_REMOTE_DISPLAY_NAME: 'Fellow User',
DEFAULT_LOCAL_DISPLAY_NAME: 'mycompany',
SHOW_JITSI_WATERMARK: true,
JITSI_WATERMARK_LINK: 'https://www.mycompanys.com',

// if watermark is disabled by default, it can be shown only for guests
SHOW_WATERMARK_FOR_GUESTS: true,
SHOW_BRAND_WATERMARK: false,
BRAND_WATERMARK_LINK: '',
SHOW_POWERED_BY: false,
SHOW_DEEP_LINKING_IMAGE: false,
GENERATE_ROOMNAMES_ON_WELCOME_PAGE: true,
DISPLAY_WELCOME_PAGE_CONTENT: false,
APP_NAME: 'mycompany',
NATIVE_APP_NAME: 'mycompany Service',
LANG_DETECTION: false, // Allow i18n to detect the system language
INVITATION_POWERED_BY: true,

/**
 * If we should show authentication block in profile
 */
AUTHENTICATION_ENABLE: true,

/**
 * The name of the toolbar buttons to display in the toolbar. If present,
 * the button will display. Exceptions are "livestreaming" and "recording"
 * which also require being a moderator and some values in config.js to be
 * enabled. Also, the "profile" button will not display for user's with a
 * jwt.
 */
TOOLBAR_BUTTONS: [
    'microphone', 'camera', 'desktop', 'fullscreen',
    'fodeviceselection', 'hangup', 'profile', 'chat', 'recording',
    'livestreaming', 'etherpad', 'sharedvideo', 'settings',
    'videoquality', 'filmstrip', 'feedback', 'stats', 'shortcuts',
    'tileview'
],

// ‘info’, ‘raisehand’, ‘closedcaptions’, ‘invite’
SETTINGS_SECTIONS: [ ‘devices’, ‘language’, ‘moderator’, ‘profile’, ‘calendar’ ],

// Determines how the video would fit the screen. 'both' would fit the whole
// screen, 'height' would fit the original video height to the height of the
// screen, 'width' would fit the original video width to the width of the
// screen respecting ratio.
VIDEO_LAYOUT_FIT: 'both',

/**
 * Whether to only show the filmstrip (and hide the toolbar).
 */
filmStripOnly: false,

/**
 * Whether to show thumbnails in filmstrip as a column instead of as a row.
 */
VERTICAL_FILMSTRIP: true,

// A html text to be shown to guests on the close page, false disables it
CLOSE_PAGE_GUEST_HINT: true,
RANDOM_AVATAR_URL_PREFIX: false,
RANDOM_AVATAR_URL_SUFFIX: false,
FILM_STRIP_MAX_HEIGHT: 120,

// Enables feedback star animation.
ENABLE_FEEDBACK_ANIMATION: true,
DISABLE_FOCUS_INDICATOR: false,
DISABLE_DOMINANT_SPEAKER_INDICATOR: false,

/**
 * Whether the speech to text transcription subtitles panel is disabled.
 * If {@code undefined}, defaults to {@code false}.
 *
 * @type {boolean}
 */
DISABLE_TRANSCRIPTION_SUBTITLES: false,

/**
 * Whether the ringing sound in the call/ring overlay is disabled. If
 * {@code undefined}, defaults to {@code false}.
 *
 * @type {boolean}
 */
DISABLE_RINGING: false,
AUDIO_LEVEL_PRIMARY_COLOR: 'rgba(255,255,255,0.4)',
AUDIO_LEVEL_SECONDARY_COLOR: 'rgba(255,255,255,0.2)',
POLICY_LOGO: null,
LOCAL_THUMBNAIL_RATIO: 16 / 9, // 16:9
REMOTE_THUMBNAIL_RATIO: 1, // 1:1
// Documentation reference for the live streaming feature.
LIVE_STREAMING_HELP_LINK: 'https://jitsi.org/live',

/**
 * Whether the mobile app Jitsi Meet is to be promoted to participants
 * attempting to join a conference in a mobile Web browser. If
 * {@code undefined}, defaults to {@code true}.
 *
 * @type {boolean}
 */
MOBILE_APP_PROMO: true,

/**
 * Maximum coeficient of the ratio of the large video to the visible area
 * after the large video is scaled to fit the window.
 *
 * @type {number}
 */
MAXIMUM_ZOOMING_COEFFICIENT: 1.3,

/*
 * If indicated some of the error dialogs may point to the support URL for
 * help.
 */
SUPPORT_URL: 'https://github.com/jitsi/jitsi-meet/issues/new',

/**
 * Whether the connection indicator icon should hide itself based on
 * connection strength. If true, the connection indicator will remain
 * displayed while the participant has a weak connection and will hide
 * itself after the CONNECTION_INDICATOR_HIDE_TIMEOUT when the connection is
 * strong.
 *
 * @type {boolean}
 */
CONNECTION_INDICATOR_AUTO_HIDE_ENABLED: true,

/**
 * How long the connection indicator should remain displayed before hiding.
 * Used in conjunction with CONNECTION_INDICATOR_AUTOHIDE_ENABLED.
 *
 * @type {number}
 */
CONNECTION_INDICATOR_AUTO_HIDE_TIMEOUT: 50000,

/**
 * If true, hides the connection indicators completely.
 *
 * @type {boolean}
 */
CONNECTION_INDICATOR_DISABLED: false,

/**
 * The name of the application connected to the "Add people" search service.
 */
// ADD_PEOPLE_APP_NAME: "",

/**
 * If true, hides the video quality label indicating the resolution status
 * of the current large video.
 *
 * @type {boolean}
 */

VIDEO_QUALITY_LABEL_DISABLED: false,

/**
 * If true, will display recent list
 *
 * @type {boolean}
 */
RECENT_LIST_ENABLED: true,

// Names of browsers which should show a warning stating the current browser
// has a suboptimal experience. Browsers which are not listed as optimal or
// unsupported are considered suboptimal. Valid values are:
// chrome, chromium, edge, electron, firefox, nwjs, opera, safari
OPTIMAL_BROWSERS: [ 'chrome', 'chromium', 'firefox', 'nwjs', 'electron' ],

// Browsers, in addition to those which do not fully support WebRTC, that
// are not supported and should show the unsupported browser page.
UNSUPPORTED_BROWSERS: [],

/**
 * A UX mode where the last screen share participant is automatically
 * pinned. Valid values are the string "remote-only" so remote participants
 * get pinned but not local, otherwise any truthy value for all participants,
 * and any falsy value to disable the feature.
 *
 * Note: this mode is experimental and subject to breakage.
 */
AUTO_PIN_LATEST_SCREEN_SHARE: 'remote-only'

/**
 * How many columns the tile view can expand to. The respected range is
 * between 1 and 5.
 */
// TILE_VIEW_MAX_COLUMNS: 5,

/**
 * Specify custom URL for downloading android mobile app.
 */
MOBILE_DOWNLOAD_LINK_ANDROID: 'https://play.google.com/store/apps/details?id=org.mycompany.meet',

/**
 * Specify URL for downloading ios mobile app.
 */
// MOBILE_DOWNLOAD_LINK_IOS: 'https://itunes.apple.com/us/app/jitsi-meet/id1165103905',

/**
 * Specify mobile app scheme for opening the app from the mobile browser.
 */
APP_SCHEME: 'org.mycompany.meet',

/**
 * Specify the Android app package name.
 */
ANDROID_APP_PACKAGE: 'org.mycompany.meet',

/**
 * Override the behavior of some notifications to remain displayed until
 * explicitly dismissed through a user action. The value is how long, in
 * milliseconds, those notifications should remain displayed.
 */
// ENFORCE_NOTIFICATION_AUTO_DISMISS_TIMEOUT: 15000,

};

/* eslint-enable no-unused-vars, no-var, max-len */

What’s wrong in this syntax @damencho? Only uncommenting the url causing the issue

There are many errors in this file, I just copy pasted it in my js IDE.

Should be DEFAULT_BACKGROUND: '#474747',

Wrong chars for single quotes.

Same as above.

Missing comma at the end.

i have replaced a complete interface js file with the original but facing same issue…any uncomment from MOBILE_DOWNLOAD_LINK_ANDROID ; APP_SCHEME; ANDROID_APP_PACKAGE resulting blank page with the error mentioned above already.

Syntax error in the interface config … double check it … if you had checkout the code from github and you run npm run lint it will verify your syntax and will show you the errors.

Have you added ‘,’ after the last uncommented line from the original file, after you had uncommented lines after it, RECENT_LIST_ENABLED: true should be RECENT_LIST_ENABLED: true, if you uncomment MOBILE_DOWNLOAD_LINK_ANDROID?

Uncommenting MOBILE_DOWNLOAD_LINK_ANDROID and running the command I see:

........./jitsi-meet/interface_config.js
  185:5  error  Parsing error: Unexpected token, expected ","

  183 |      * Specify custom URL for downloading android mobile app.
  184 |      */
> 185 |     MOBILE_DOWNLOAD_LINK_ANDROID: 'https://play.google.com/store/apps/details?id=org.jitsi.meet',
      |     ^
  186 |
  187 |     /**
  188 |      * Specify URL for downloading ios mobile app.

✖ 1 problem (1 error, 0 warnings)

Which is exactly the missing comma after RECENT_LIST_ENABLED: true.

Don’t look at previous syntax or file. I have just updated and pulled the stock file from github. There I have kept everything original, stocked. I just uncomment the MOBILE_DOWNLOAD_LINK_ANDROID and same problem occurred. You can try at your side too. Commenting again back that line doesn’t show the error. Please check at your side and let me confirm.

And have you read what I wrote above about RECENT_LIST_ENABLED … I wrote it after I tested it?

Ok @damencho …The thing I noticed is that “remote-only” requires comma because next line syntax will be continued after that. Because the ANDROID APP LINK was commented, there was no comma and the line was ended at “remote-only” . Now the problem has been resolved.