21

현재 Chrome 웹 스토어에는 확장 프로그램이 많은 사용자가 있습니다. 현재 foo.site.com에 대한 액세스를 요청하고 있지만 bar.site.com을 사용할 수 있도록 권한을 업데이트하고 싶습니다.Chrome 확장 프로그램의 사용 권한 업그레이드

이 두 권한이 필요한 새 업데이트 (Chrome 웹 스토어에 새 확장 버전)를 푸시하면 수동으로 다시 사용할 때까지 기존 사용자는 확장자가 사용 중지됩니다. 업데이트 후에 확장 프로그램을 다운로드하는 신규 사용자는 괜찮을 것이며 권한이 모두 있습니다. 그러나 현재 사용자를 사용 중지하는 것은 선택할 수 없습니다.

이 문제를 해결할 수있는 방법은 없나요?

기존 사용 자의 문제를 해결할 수있는 선택적 사용 권한을 살펴 봤습니다. 사용 권한을 업그레이드하고 진행되는 버튼을 클릭하라고 요청할 것입니다. 그러나 새 사용자의 경우 확장 기능을 설치해야 할뿐만 아니라 선택적인 사용 권한을 허용합니다. 새로운 사용자가 설치시 모든 권한 (선택적 및 필수)을 수락 할 수있는 방법이 있습니까?

+4

당신은 정말 질문을했다 읽지 않았다. – aloo

+2

나는 이것을 처리하고 있었다 :'그러나 현재 사용자를 비활성화시키는 것은 선택 사항이 아닙니다. 이 문제를 해결할 수있는 방법은 없나요?' –

+3

새로운 사용자를 위해 설치시에 optional_permissions를 요청하도록 선언하는 것이 유용한 기능처럼 보입니다. http://crbug.com/new에서 파일을 만드시겠습니까? 또한 모든 권한을 optional_permissions로 설정하여 설치 후 한 번만 요청할 수 있는지 여부 또는 베타 액티브 탭 권한 (http://developer.chrome.com/beta/extensions/activeTab.html)을 요청할 수 있는지 여부를 고려할 수 있습니다) bar.site.com에 항상 액세스하는 대신 작동합니다. –

답변

8

예, 해결책이 있습니다. 새 권한을 선택적으로 설정 한 다음 사용자가 새 기능을 사용하기 전에 권한을 요청합니다. 은 100 % 작업입니다. 당신이 사용할 수있는 그 후

"permissions": ["tabs","http://*/*","https://*/*"], 

:

chrome.permissions.request 

chrome.permissions.contains 
+1

신규 사용자의 경우 확장 프로그램 설치 권한을 수락하고 다른 사용 권한 집합을 – aloo

+0

@ Gabriele로 허용해야합니다. 그러나 "user 제스처"내에서 chrome.permissions.request를 호출해야합니다. 맞습니까? 어떤 사용자 동작을 사용 했습니까? 사용자가 특정 웹 페이지를로드 할 때마다이 기능을 사용하려면 어떻게해야합니까? –

+0

제 경우에는 페이지에 바로 삽입되는 작은 설정 패널이 있습니다. 그것을 토글하면 허가를 요청할 것입니다. 나는 그것보다 조금 복잡하고 메시지를 사용해야한다고 생각한다. 내가 만든 확장 기능은 HN Special이라고하며 GitHub에서 찾을 수 있습니다. 그것을 시도해보십시오 :) –

4

을 내 확장자를 가진 동일한 문제에 직면, I를

는 매니페스트에 추가 할 것입니다 같은 질문을 찾고있는이 게시물에 관해서 경우에 따라 허용되는 것으로 보이는 업데이트가 있습니다. 에 따르면 : https://support.google.com/chrome_webstore/answer/1054246http://developer.chrome.com/extensions/permission_warnings.html

의 예는 사용 권한을 업데이트하는 것은 사실, 그러나 그것은 변경 사항에 대해 사용자에게 메시지를 표시하고 수, 확장을 해제하기 쉬운 "다시 활성화"것으로 보인다.

내 경우에는 이 (가) 명의 새로운 사용자가 기본적으로 추가 된 새로운 사용자로이긴 경우 기존 사용자가 다시 사용하도록 설정하지 못할 수 있습니다. 기존의 사용자가 확장 기능을 사용할 수 없음을 알지 못했던 이전의 방식보다 훨씬 낫습니다. ...

이 게시물은 오래된 것으로 알고 있지만이 질문에 대한 Google의 최고 결과는 다음과 같습니다. 업데이트는 나중에 참조 할 때 유용 할 것입니다 ...

+2

기존 사용자가 선택적 권한 팝업 만 얻는 방법이 있습니까?하지만 새 사용자는 설치시 두 번이나 확장 기능을 설치하는 경우 한 번만 가져옵니다. 설치 및 옵션 기능을 사용할 때입니다. – Nakul

+0

@Nakul 'chrome.permissions.contains'를 사용하여 권한이 이미 부여되었는지 또는 별도로 요청해야하는지 확인할 수 있습니다. –

4

크롬 16 이후로 설치시 optional_permission을 설정하고 런타임에 권한 상승을 요청할 수 있습니다. 의 manifest.json에 https://developer.chrome.com/extensions/permissions

를 참조하십시오 popup.json에서

{ 
    "name": "My extension", 
    ... 
    "optional_permissions": [ "tabs", "http://bar.site.com/" ], 
    ... 
    } 

:

document.querySelector('#my-button').addEventListener('click', function(event) { 
    // Permissions must be requested from inside a user gesture, like a button's 
    // click handler. 
    chrome.permissions.request({ 
     permissions: ['tabs'], 
     origins: ['http://bar.site.com/'] 
    }, function(granted) { 
     // The callback argument will be true if the user granted the permissions. 
     if (granted) { 
     doSomething(); 
     } else { 
     doSomethingElse(); 
     } 
    }); 
    });