Shader not working in android device

This shader works in the editor but in android it gets all pink. Is there anything I can do to make it work on android?

Shader "yy/dust" {
    Properties {
        _MainTex ("MainTex", 2D) = "white" {}
        [MaterialToggle] _pickupCh ("pickupCh", Float ) = 0
        _emissive ("emissive", Float ) = 2
        _texDensity ("texDensity", Float ) = 2
        [MaterialToggle] _useR ("useR", Float ) = 0
        [MaterialToggle] _useG ("useG", Float ) = 0
        [MaterialToggle] _useB ("useB", Float ) = 0
        _alphaDensity ("alphaDensity", Float ) = 1
        _alphaPower ("alphaPower", Float ) = 1
        _vertColorDensity ("vertColorDensity", Float ) = 1
        _color ("color", Color) = (1,1,1,1)
        _uvDynCorrect ("uvDynCorrect", Float ) = 1
        [MaterialToggle] _haveAlpha ("haveAlpha", Float ) = 0
        _depthBlend ("depthBlend", Float ) = 1
        [MaterialToggle] _useDepthBlend ("useDepthBlend", Float ) = 1
    }
    SubShader {
        Tags {
            "IgnoreProjector"="True"
            "Queue"="Transparent"
            "RenderType"="Transparent"
        }
        Pass {
            Name "FORWARD"
            Tags {
                "LightMode"="ForwardBase"
            }
            Blend One One
            ZWrite Off
           
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #define UNITY_PASS_FORWARDBASE
            #include "UnityCG.cginc"
            #pragma multi_compile_fwdbase
            #pragma multi_compile_fog
            #pragma exclude_renderers gles3 metal d3d11_9x xbox360 xboxone ps3 ps4 psp2
            #pragma target 3.0
            uniform sampler2D _CameraDepthTexture;
            uniform sampler2D _MainTex; uniform float4 _MainTex_ST;
            uniform fixed _pickupCh;
            uniform float _emissive;
            uniform float _texDensity;
            uniform fixed _useR;
            uniform fixed _useG;
            uniform fixed _useB;
            uniform float _alphaDensity;
            uniform float _alphaPower;
            uniform float _vertColorDensity;
            uniform float4 _color;
            uniform float _uvDynCorrect;
            uniform fixed _haveAlpha;
            uniform float _depthBlend;
            uniform fixed _useDepthBlend;
            struct VertexInput {
                float4 vertex : POSITION;
                float2 texcoord0 : TEXCOORD0;
                float4 vertexColor : COLOR;
            };
            struct VertexOutput {
                float4 pos : SV_POSITION;
                float2 uv0 : TEXCOORD0;
                float4 vertexColor : COLOR;
                float4 projPos : TEXCOORD1;
                UNITY_FOG_COORDS(2)
            };
            VertexOutput vert (VertexInput v) {
                VertexOutput o = (VertexOutput)0;
                o.uv0 = v.texcoord0;
                o.vertexColor = v.vertexColor;
                o.pos = UnityObjectToClipPos(v.vertex );
                UNITY_TRANSFER_FOG(o,o.pos);
                o.projPos = ComputeScreenPos (o.pos);
                COMPUTE_EYEDEPTH(o.projPos.z);
                return o;
            }
            float4 frag(VertexOutput i) : COLOR {
                float sceneZ = max(0,LinearEyeDepth (UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)))) - _ProjectionParams.g);
                float partZ = max(0,i.projPos.z - _ProjectionParams.g);
////// Lighting:
////// Emissive:
                float node_1439 = (i.vertexColor.r*_uvDynCorrect);
                float node_5474_if_leA = step(node_1439,32.0);
                float node_5474_if_leB = step(32.0,node_1439);
                float node_335_if_leA = step(node_1439,16.0);
                float node_335_if_leB = step(16.0,node_1439);
                float node_9756 = 32.0;
                float node_6486_if_leA = step(node_1439,node_9756);
                float node_6486_if_leB = step(node_9756,node_1439);
                float node_9176 = 16.0;
                float node_4634_if_leA = step(node_1439,node_9176);
                float node_4634_if_leB = step(node_9176,node_1439);
                float node_5287 = (node_1439-node_9176);
                float node_8482 = (node_1439-node_9756);
                float node_6486 = lerp((node_6486_if_leA*lerp((node_4634_if_leA*node_1439)+(node_4634_if_leB*node_5287),node_5287,node_4634_if_leA*node_4634_if_leB))+(node_6486_if_leB*node_8482),node_8482,node_6486_if_leA*node_6486_if_leB);
                float node_9617_if_leA = step(node_6486,12.0);
                float node_9617_if_leB = step(12.0,node_6486);
                float node_8029_if_leA = step(node_6486,8.0);
                float node_8029_if_leB = step(8.0,node_6486);
                float node_5532_if_leA = step(node_6486,4.0);
                float node_5532_if_leB = step(4.0,node_6486);
                float node_2748 = 2.0;
                float node_5742 = 1.0;
                float node_1090 = 0.0;
                float2 node_2677 = ((i.uv0*0.25)+(floor(float2(node_1439,lerp((node_9617_if_leA*lerp((node_8029_if_leA*lerp((node_5532_if_leA*3.0)+(node_5532_if_leB*node_2748),node_2748,node_5532_if_leA*node_5532_if_leB))+(node_8029_if_leB*node_5742),node_5742,node_8029_if_leA*node_8029_if_leB))+(node_9617_if_leB*node_1090),node_1090,node_9617_if_leA*node_9617_if_leB)))/4.0));
                float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(node_2677, _MainTex));
                float3 node_5708 = pow(_MainTex_var.rgb,_texDensity).rgb;
                float node_516 = 0.0;
                float node_5474 = lerp((node_5474_if_leA*lerp((node_335_if_leA*lerp( node_5708.r, ((lerp( node_516, node_5708.r, _useR )+lerp( node_516, node_5708.g, _useG ))+lerp( node_516, node_5708.b, _useB )), _pickupCh ))+(node_335_if_leB*node_5708.g),node_5708.g,node_335_if_leA*node_335_if_leB))+(node_5474_if_leB*node_5708.b),node_5708.b,node_5474_if_leA*node_5474_if_leB);
                float3 emissive = (node_5474*_color.rgb*_emissive*(pow(i.vertexColor.a,_vertColorDensity)*(pow(lerp( node_5474, _MainTex_var.a, _haveAlpha ),_alphaDensity)*_alphaPower)*lerp( 1.0, saturate((sceneZ-partZ)/_depthBlend), _useDepthBlend )));
                float3 finalColor = emissive;
                fixed4 finalRGBA = fixed4(finalColor,1);
                UNITY_APPLY_FOG_COLOR(i.fogCoord, finalRGBA, fixed4(0,0,0,1));
                return finalRGBA;
            }
            ENDCG
        }
    }
    CustomEditor "ShaderForgeMaterialInspector"
}

OpenGL ES 3.0 is the default graphics API for modern android devices, and your shader is excluding that as a renderer target. Delete that line.

It worked. thank you very much